Updated on 2026-04-16 GMT+08:00

Listing All Inventories of a Bucket

Functions

The bucket inventory function periodically generates lists of metadata information of objects in a bucket. Inventories help you better understand object statuses in the bucket. You can call this API to list all inventories of a bucket. This API returns all inventory rules of a bucket at a time without pagination. For more information and constraints about bucket inventories, see Bucket Inventories.

Authorization Information

To call this API, you must be the bucket owner or have the permission to list bucket inventories. You are advised to use IAM or bucket policies for authorization. For details about OBS authorization methods, see Differences Between OBS Permissions Control Methods.

  • If you use IAM for authorization, you need to use either role/policy-based authorization or identity policy-based authorization and configure the required permissions:
    • If you use role/policy-based authorization (IAM v3 APIs in the old IAM version), you need to grant the obs:bucket:GetBucketInventoryConfiguration permission. For details, see Creating a Custom IAM Policy.
    • If you use identity policy-based authorization (IAM v5 APIs in the new IAM version), you need to grant the obs:bucket:getBucketInventoryConfiguration permission, as shown in the following table. For details, see Creating a Custom IAM Identity Policy.

      Action

      Access Level

      Resource Type (*: Required)

      Condition Key

      Alias

      Dependencies

      obs:bucket:getBucketInventoryConfiguration

      Read

      bucket *

      -

      -

      -

      • obs:EpochTime
      • obs:SourceIp
      • obs:TlsVersion
      • obs:CustomDomain
  • If you use bucket policies for authorization, you need to grant the obs:bucket:GetBucketInventoryConfiguration permission. For details, see Creating a Custom Bucket Policy.

Request Syntax

The following is an example request. Replace BucketName with your bucket name and RegionID with the ID of the region where your bucket resides. You can obtain the region ID by referring to Supported Regions.

1
2
3
4
5
6
GET /?inventory HTTP/1.1
User-Agent: curl/7.29.0
Host: BucketName.obs.RegionID.myhuaweicloud.com 
Accept: */*
Date: GMT Date
Authorization: SignatureValue

URI Parameters

This request contains no URI parameters.

Request Headers

This request uses common headers. For details, see Table 3.

Request Body

This request contains no request body parameters.

Response Syntax

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
HTTP/1.1 status_code
Server: OBS
x-obs-request-id: request id
x-obs-id-2: id
Content-Type: application/xml
Date: date
Content-Length: length

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ListInventoryConfiguration  xmlns="http://obs.region.myhuaweicloud.com/doc/2015-06-30/"> 
 <InventoryConfiguration>
  <Id>id</Id>
   <IsEnabled>true</IsEnabled>
   <Destination>
     <Format>CSV</Format>
     <Bucket>bucket</Bucket>
     <Prefix>prefix</Prefix>
   </Destination>
   <Schedule>
     <Frequency>Daily</Frequency>
   </Schedule>
   <IncludedObjectVersions>Current</IncludedObjectVersions>
   <OptionalFields>
     <Field>Size</Field>
     <Field>LastModifiedDate</Field>
     <Field>ETag</Field>
     <Field>StorageClass</Field>
     <Field>IsMultipartUploaded</Field>
     <Field>ReplicationStatus</Field>
     <Field>EncryptionStatus</Field>
   </OptionalFields>
 </InventoryConfiguration>
</ListInventoryConfiguration>

Response Headers

This response uses common headers. For details, see Table 1.

Response Body

Table 1 lists elements contained in the response body.

Table 1 Response body parameters for bucket inventories

Element

Description

ListInventoryConfiguration

List of bucket inventories.

Type: container

InventoryConfiguration

Bucket inventory configuration. For details about the configuration elements, see Table 2.

Type: container

Parent: ListInventoryConfiguration

Error Responses

No special error responses are returned. For details about error responses, see Table 2.

Sample Request

1
2
3
4
5
6
GET /?inventory HTTP/1.1
User-Agent: curl/7.29.0
Host: examplebucket.obs.region.myhuaweicloud.com
Accept: */*
Date: Tue, 08 Jan 2019 09:32:24 +0000
Authorization: OBS UDSIAMSTUBTEST000001:ySWncC9M08jNsyXdJLSMJkpi7XM=

Sample Response

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
HTTP/1.1 200 OK
Server: OBS
x-obs-request-id: 000001682CB4C2EE6808A0D8DF9F3D00
x-obs-id-2: 32AAAQAAEAABAAAQAAEAABAAAQAAEAABCSBjn5O7Jv9CqvUMO0BenehRdil1n8rR
Content-Type: application/xml
Date: Tue, 08 Jan 2019 09:04:30 GMT
Content-Length: 626

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ListInventoryConfiguration  xmlns="http://obs.region.myhuaweicloud.com/doc/2015-06-30/"> 
 <InventoryConfiguration>
  <Id>id1</Id>
   <IsEnabled>true</IsEnabled>
   <Destination>
     <Format>CSV</Format>
     <Bucket>bucket</Bucket>
     <Prefix>prefix</Prefix>
   </Destination>
   <Schedule>
     <Frequency>Daily</Frequency>
   </Schedule>
   <IncludedObjectVersions>Current</IncludedObjectVersions>
   <OptionalFields>
     <Field>Size</Field>
     <Field>LastModifiedDate</Field>
     <Field>ETag</Field>
     <Field>StorageClass</Field>
     <Field>IsMultipartUploaded</Field>
     <Field>ReplicationStatus</Field>
     <Field>EncryptionStatus</Field>
   </OptionalFields>
 </InventoryConfiguration>
</ListInventoryConfiguration>

Using SDKs to Call APIs

You are advised to use OBS SDKs to call APIs. SDKs encapsulate APIs to simplify development. You can call SDK API functions to access OBS without manually calculating signatures.

Java

Python: not supported

C: not supported

Go: not supported

BrowserJS: not supported

.NET: not supported

Android: not supported

iOS: not supported

PHP: not supported

Node.js: not supported

Harmony: not supported

References

  • For more information about bucket inventories, see Bucket Inventories.
  • For details about the billing items involved in API operations, see Billing Items.