0020-00000014

问题描述

PutBucketInventory请求缺少Destination/OSSBucketDestination/RoleArn节点。

问题原因

PutBucketInventory请求缺少必选的Destination/OSSBucketDestination/RoleArn节点。

问题示例

您发起了PutBucketInventory请求,但是请求中缺少Destination/OSSBucketDestination/RoleArn节点。

 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>report1</Id>
  <IsEnabled>true</IsEnabled>
  <Filter>
  	<Prefix>filterPrefix/</Prefix>
    <LastModifyBeginTimeStamp>1637883649</LastModifyBeginTimeStamp>
    <LastModifyEndTimeStamp>1638347592</LastModifyEndTimeStamp>
    <LowerSizeBound>1024</LowerSizeBound>
    <UpperSizeBound>123</UpperSizeBound>
    <StorageClass>Standard,IA</StorageClass>
   </Filter>
   <Destination>
   		<OSSBucketDestination>
      	<Format>CSV</Format>
				<AccountId>1000000000000000</AccountId>
        <Bucket>acs:oss:::destination-bucket</Bucket>
       	<Prefix>prefix1</Prefix>
      </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>
    </OptionalFields>
 </InventoryConfiguration>

解决方案

Destination/OSSBucketDestination配置下添加RoleArn节点。RoleArn节点用于指定具有读取源Bucket所有文件和向目标Bucket写入文件权限的角色名称,格式为acs:ram::uid:role/rolename

正确请求示例如下:

  PUT /?inventory&inventoryId=report1 HTTP/1.1
  Host: oss-example.oss-cn-hangzhou.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>report1</Id>
     <IsEnabled>true</IsEnabled>
     <Filter>
         <Prefix>Pics/</Prefix>
         <LastModifyBeginTimeStamp>1637883649</LastModifyBeginTimeStamp>
         <LastModifyEndTimeStamp>1638347592</LastModifyEndTimeStamp>
         <LowerSizeBound>1024</LowerSizeBound>
         <UpperSizeBound>1048576</UpperSizeBound>
         <StorageClass>Standard,IA</StorageClass>
     </Filter>
     <Destination>
        <OSSBucketDestination>
          <Format>CSV</Format>
          <AccountId>100000000000000</AccountId>
          <RoleArn>acs:ram::100000000000000:role/AliyunOSSRole</RoleArn>
          <Bucket>acs:oss:::destbucket</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>

相关文档

PutBucketInventory