PutBucketInventory接口用于为某个存储空间(Bucket)配置清单(Inventory)规则。

说明
  • 单个Bucket最多只能配置1000条清单规则。
  • 调用该请求时,请确保您有足够的权限对存储空间的清单任务进行操作。存储空间所有者默认拥有该权限,若您无该项权限,请先向存储空间所有者申请该项操作的权限。
  • 配置清单的源Bucket与存放导出的清单文件所在的目标Bucket必须位于同一个Region。
  • 请求成功将返回HTTP状态码200。

请求语法

  <InventoryConfiguration>
     <Id>report1</Id>
     <IsEnabled>true</IsEnabled>
     <Filter>
        <Prefix>filterPrefix</Prefix>
     </Filter>
     <Destination>
        <OSSBucketDestination>
           <Format>CSV</Format>
           <AccountId>1000000000000000</AccountId>
           <RoleArn>acs:ram::1000000000000000:role/AliyunOSSRole</RoleArn>
           <Bucket>acs:oss:::destination-bucket</Bucket>
           <Prefix>prefix1</Prefix>
           <Encryption>
              <SSE-KMS>
                 <KeyId>keyId</KeyId>
              </SSE-KMS>
           </Encryption>
        </OSSBucketDestination>
     </Destination>
     <Schedule>
        <Frequency>Daily</Frequency>
     </Schedule>
     <IncludedObjectVersions>All</IncludedObjectVersions>
     <OptionalFields>
        <Field>Size</Field>
        <Field>LastModifiedDate</Field>
        <Field>ETag</Field>
        <Field>StorageClass</Field>
        <Field>IsMultipartUploaded</Field>
        <Field>EncryptionStatus</Field>
     </OptionalFields>
  </InventoryConfiguration>

请求元素

名称 类型 是否必选 描述
Id 字符串 由用户指定的清单名称,清单名称在当前Bucket下必须全局唯一。
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

父节点: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、ETag、StorageClass、IsMultipartUploaded、EncryptionStatus

父节点:OptionalFields

示例

  • 请求示例
      PUT /?inventory&inventoryId=report1 HTTP/1.1
      Host: BucketName.oss.aliyuncs.com
      Date: Mon, 31 Oct 2016 12:00:00 GMT
      Authorization: authorization string
      Content-Length: length
    
      <?xml version="1.0" encoding="UTF-8"?>
      <InventoryConfiguration>
         <Id>56594298207FB304438516F9</Id>
         <IsEnabled>true</IsEnabled>
         <Filter>
            <Prefix>Pics</Prefix>
         </Filter>
         <Destination>
            <OSSBucketDestination>
               <Format>CSV</Format>
               <AccountId>100000000000000</AccountId>
               <RoleArn>acs:ram::100000000000000:role/AliyunOSSRole</RoleArn>
               <Bucket>acs:oss:::bucket_0001</Bucket>
               <Prefix>prefix1</Prefix>
               <Encryption>
                  <SSE-KMS>
                     <KeyId>keyId</KeyId>
                  </SSE-KMS>
               </Encryption>
            </OSSBucketDestination>
         </Destination>
         <Schedule>
            <Frequency>Daily</Frequency>
         </Schedule>
         <IncludedObjectVersions>All</IncludedObjectVersions>
         <OptionalFields>
            <Field>Size</Field>
            <Field>LastModifiedDate</Field>
            <Field>ETag</Field>
            <Field>StorageClass</Field>
            <Field>IsMultipartUploaded</Field>
            <Field>EncryptionStatus</Field>
         </OptionalFields>
      </InventoryConfiguration>
  • 返回示例
      HTTP/1.1 200 OK
      x-oss-request-id: 56594298207FB3044385****
      Date: Mon, 31 Oct 2016 12:00:00 GMT
      Content-Length: 0
      Server: AliyunOSS

错误码

错误码 HTTP 状态码 描述
InvalidArgument 400 传入非法参数。
InventoryExceedLimit 400 超出支持清单配置规则的数量限制。
AccessDenied 403
  • 发起PutBucketInventory请求时没有传入用户验证信息。
  • 没有操作权限。
InventoryAlreadyExist 409 请求的清单规则已存在。