全部产品
Search
文档中心

对象存储 OSS:ListBucketInventory

更新时间:Feb 06, 2026

ListBucketInventory用于批量获取某个存储空间(Bucket)中的所有清单(Inventory)任务。

注意事项

如需调用ListBucketInventory用于批量获取某个存储空间(Bucket)中的所有清单(Inventory)任务,您必须拥有oss:GetBucketInventory权限。具体操作,请参见为RAM用户授予自定义的权限策略

说明
  • 单次请求最多可获取100条清单配置项内容。若需获取超过100条清单配置项,则需发送多次请求,并保留相应的token,作为下一次请求的参数。

  • 调用该请求时,请确保您有足够的权限对存储空间的清单任务进行操作。存储空间所有者默认拥有该权限,若您无该项权限,请先向存储空间所有者申请该项操作的权限。

请求语法

  • 带continuation-token的形式

    GET /?inventory&continuation-token=xxx HTTP/1.1
  • 不带continuation-token的形式

    GET /?inventory HTTP/1.1

响应元素

名称

类型

描述

InventoryConfiguration

容器

存放清单配置参数的容器。

IsTruncated

布尔

是否列举全部的清单任务。

有效值:true或false

  • 如果值为false,则表明存储空间中的所有清单任务已全部列出。

  • 如果值为true,表示还未完整列出存储空间中的所有清单任务,您可以将NextContinuationToken字段的值作为下一次list请求的continuation-token参数,以获取下一页的清单配置列表。

NextContinuationToken

字符串

当响应中的IsTruncated为true且NextContinuationToken非空时,使用该字段作为下一次list请求的continuation-token参数。

Id

字符串

由用户指定的清单名称,清单名称在当前存储空间下必须全局唯一。

IsEnabled

布尔

清单是否启用的标识。

有效值:true或false

  • 如果设置为true,清单功能将生效。

  • 如果设置为false,将不生成任何清单。

Filter

容器

清单筛选的前缀。指定前缀后,清单将筛选出符合前缀设置的对象。

Prefix

字符串

筛选规则的匹配前缀。

父节点:Filter

Destination

容器

存放清单结果的信息。

OSSBucketDestination

容器

清单结果导出后存放的存储空间信息。

父节点:Destination

Format

字符串

导出清单文件的文件格式。

有效值:CSV

父节点:OSSBucketDestination

AccountId

字符串

存储空间所有者授予的账户ID。

父节点:OSSBucketDestination

RoleArn

字符串

存储空间所有者授予操作权限的角色名。

格式为:acs:ram::uid:role/rolename

父节点:OSSBucketDestination

Bucket

字符串

存放导出的清单文件的存储空间。

父节点:OSSBucketDestination

Prefix

字符串

清单文件的存储路径前缀。

父节点:OSSBucketDestination

Encryption

容器

清单文件的加密方式。

有效值:SSE-OSS、SSE-KMS或Null

父节点:OSSBucketDestination

SSE-OSS

容器

SSE-OSS加密方式的容器。

父节点:Encryption

SSE-KMS

容器

用于保存SSE-KMS加密方式下的密钥的容器。

父节点:Encryption

KeyId

字符串

KMS密钥id。

父节点:SSE-KMS

Schedule

容器

存放清单导出周期信息的容器。

Frequency

字符串

清单文件导出的周期。

有效值:Daily或Weekly

父节点:Schedule

IncludedObjectVersions

字符串

是否在清单中包含Object版本信息。

有效值:All或Current

  • 如果为All,则导出Object的所有版本信息。

  • 如果为Current,则导出Object的当前版本信息。

OptionalFields

容器

设置清单结果中应包含的配置项。

Field

容器

清单结果中包含的配置项。

可选的配置项:Size、LastModifiedDate、TransitionTime、ETag、StorageClass、IsMultipartUploaded、EncryptionStatus、ObjectAcl、TaggingCount、ObjectType、Crc64

父节点:OptionalFields

IncrementalInventory

容器

增量清单的配置信息。

IsEnabled

布尔

是否开启增量清单。

有效值:

  • true:开启

  • false:关闭

当取值为true 时,增量清单功能启用,不受上层enable=false 的影响。

父节点:IncrementalInventory

Schedule

容器

增量清单的导出周期。

父节点:IncrementalInventory

Frequency

正整数

增量清单的导出频率,单位为秒。

系统当前以 600 秒为固定周期,每个周期自动创建一个目录前缀,并生成对应的 manifest 文件及该周期内产生的多份 CSV 文件。暂不支持自定义频率设置。

父节点:Schedule

OptionalFields

容器

设置增量清单中包含的配置项。

父节点:IncrementalInventory

Field

字符串

增量清单中包含的配置项。

父节点:OptionalFields

  • SequenceNumber:序列号,每条记录的SequenceNumber唯一,同Bucket同Object下的记录,可按照SequenceNumber排序,通常保证排序后的记录遵循时间逻辑顺序。

  • RecordType:事件类型:CREATE、UPDATE_METADATA、DELETE

    • CREATE:所选前缀下发生的所有上传方式,如 Put/Post/Append/MultipartUpload/Copy

    • UPDATE_METADATA:所选前缀下所有元数据的更新都记录在该类型中

    • DELETE:所选前缀下的文件的所有删除方式,如 DeleteObject/DeleteMultipleObjects、开启多版本后生成 DeleteMarker、生命周期删除。删除有DeleteMarker和永久删除,其中,永久删除记录仅保留 BucketKeySequenceNumberRecordTypeRecordTimestamp 和 VersionId 核心字段,其余列均为空(null)。

  • RecordTimestamp:时间戳 ( 示例: "2024-08-25 18:08:01.024"),采用格林威治时区,精度到毫秒。

  • Requester:请求者的阿里云 ID 或者 Principal ID。

  • RequestId:请求的唯一标识。

  • SourceIp:请求者源 IP。

  • Key:Bucket 中 Object 的名称,采用URL编码。

  • VersionId:Object的版本ID。仅当配置的清单规则为导出所有版本时出现此字段。

    • 如果配置清单规则的Bucket未开启版本控制,则该字段显示为空。

    • 如果配置清单规则的Bucket已开启版本控制,则该字段显示为Object的VersionId。

  • IsDeleteMarker:Object版本是否为删除标记。仅当配置的清单规则为导出所有版本时出现此字段。

    • 如果配置清单规则的Bucket未开启版本控制,则该字段默认显示为false

    • 如果配置清单规则的Bucket已开启版本控制,且Object为删除标记时,则该字段显示为true。如果Object不是删除标记,则该字段显示为false

  • Size:Object的大小。

  • StorageClass:Object的存储类型。

  • LastModifiedDate:Object的最后修改时间。

  • ETag:Object的ETag值,用于标识Object的内容。Object生成时会创建相应的ETag,用于标识一个Object的内容。

    • 通过PutObject接口创建的Object,ETag值是其内容的MD5值。

    • 通过其他方式创建的Object,ETag值是基于一定计算规则生成的唯一值,但不是其内容的MD5值。

  • IsMultipartUploaded:是否为通过分片上传方式上传的Object。

  • ObjectType:Object类型。

  • ObjectAcl:Object的读写权限。

  • Crc64:Object的CRC64。

  • EncryptionStatus:Object是否加密。

示例

  • 请求示例

      GET /?inventory HTTP/1.1
      Host: BucketName.oss.aliyuncs.com
      Date: Fri, 24 Feb 2012 03:55:00 GMT
      Authorization: authorization string
      Content-Type: text/plain
  • 返回示例

      HTTP/1.1 200 OK
      x-oss-request-id: 56594298207FB304438516F9
      Date: Sat, 30 Apr 2016 23:29:37 GMT
      Content-Type: application/xml
      Content-Length: length
      Connection: close
      Server: AliyunOSS
    
      <?xml version="1.0" encoding="UTF-8"?>
      <ListInventoryConfigurationsResult>
         <InventoryConfiguration>
            <Id>report1</Id>
            <IsEnabled>true</IsEnabled>
            <Destination>
               <OSSBucketDestination>
                  <Format>CSV</Format>
                  <AccountId>1000000000000000</AccountId>
                  <RoleArn>acs:ram::1000000000000000:role/AliyunOSSRole</RoleArn>
                  <Bucket>acs:oss:::destination-bucket</Bucket>
                  <Prefix>prefix1</Prefix>
               </OSSBucketDestination>
            </Destination>
            <Schedule>
               <Frequency>Daily</Frequency>
            </Schedule>
            <Filter>
               <Prefix>prefix/One</Prefix>
            </Filter>
            <IncludedObjectVersions>All</IncludedObjectVersions>
            <OptionalFields>
               <Field>Size</Field>
               <Field>LastModifiedDate</Field>
               <Field>ETag</Field>
               <Field>StorageClass</Field>
               <Field>IsMultipartUploaded</Field>
               <Field>EncryptionStatus</Field>
            </OptionalFields>
         </InventoryConfiguration>
         <InventoryConfiguration>
            <Id>report2</Id>
            <IsEnabled>true</IsEnabled>
            <Destination>
               <OSSBucketDestination>
                  <Format>CSV</Format>
                  <AccountId>1000000000000000</AccountId>
                  <RoleArn>acs:ram::1000000000000000:role/AliyunOSSRole</RoleArn>
                  <Bucket>acs:oss:::destination-bucket</Bucket>
                  <Prefix>prefix2</Prefix>
               </OSSBucketDestination>
            </Destination>
            <Schedule>
               <Frequency>Daily</Frequency>
            </Schedule>
            <Filter>
               <Prefix>prefix/Two</Prefix>
            </Filter>
            <IncludedObjectVersions>All</IncludedObjectVersions>
            <OptionalFields>
               <Field>Size</Field>
               <Field>LastModifiedDate</Field>
               <Field>ETag</Field>
               <Field>StorageClass</Field>
               <Field>IsMultipartUploaded</Field>
               <Field>EncryptionStatus</Field>
            </OptionalFields>
         </InventoryConfiguration>
         <InventoryConfiguration>
            <Id>report3</Id>
            <IsEnabled>true</IsEnabled>
            <Destination>
               <OSSBucketDestination>
                  <Format>CSV</Format>
                  <AccountId>1000000000000000</AccountId>
                  <RoleArn>acs:ram::1000000000000000:role/AliyunOSSRole</RoleArn>
                  <Bucket>acs:oss:::destination-bucket</Bucket>
                  <Prefix>prefix3</Prefix>
               </OSSBucketDestination>
            </Destination>
            <Schedule>
               <Frequency>Daily</Frequency>
            </Schedule>
            <Filter>
               <Prefix>prefix/Three</Prefix>
            </Filter>
            <IncludedObjectVersions>All</IncludedObjectVersions>
            <OptionalFields>
               <Field>Size</Field>
               <Field>LastModifiedDate</Field>
               <Field>ETag</Field>
               <Field>StorageClass</Field>
               <Field>IsMultipartUploaded</Field>
               <Field>EncryptionStatus</Field>
            </OptionalFields>
         </InventoryConfiguration>
          ...
         <IsTruncated>true</IsTruncated>
         <NextContinuationToken>...</NextContinuationToken> 
      </ListInventoryConfigurationsResult>

SDK

此接口所对应的各语言SDK如下:

命令行工具ossutil

ListBucketInventory接口所对应的ossutil命令,请参见list-bucket-inventory