0020-00000022

Updated at:

The Filter/LastModifyBeginTimeStamp node in a PutBucketInventory request contains an invalid value.

Problem description

The value of the Filter/LastModifyBeginTimeStamp node in a PutBucketInventory request is invalid.

Causes

PutBucketInventory requires both of the following conditions to be true:

  • Filter/LastModifyBeginTimeStamp must be less than or equal to Filter/LastModifyEndTimeStamp.

  • Both values must be less than the current Unix timestamp.

If either condition is violated, OSS rejects the request.

Examples

In the following example, LastModifyBeginTimeStamp (1637000001) is greater than LastModifyEndTimeStamp (1637000000), which violates the first condition and triggers the error.

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>1637000001</LastModifyBeginTimeStamp>
    <LastModifyEndTimeStamp>1637000000</LastModifyEndTimeStamp>
    <LowerSizeBound>1024</LowerSizeBound>
    <UpperSizeBound>1048576</UpperSizeBound>
    <StorageClass>Standard,IA</StorageClass>
  </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>

Solutions

Set LastModifyBeginTimeStamp to a value that is less than or equal to LastModifyEndTimeStamp, and make sure both values are less than the current Unix timestamp.

The following example uses a valid timestamp range (1637883649 < 1638347592):

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>

References

PutBucketInventory