全部產品
Search
文件中心

Object Storage Service:0014-00000053

更新時間:Jun 19, 2024

問題描述

PutBucketLifecycle請求的請求體XML中Transition節點下通過StorageClass指定的儲存類型與ReturnToStdWhenVisit選項指定的值互斥。

問題原因

Transition的子節點ReturnToStdWhenVisit用於指定Object轉為非標準儲存後,再次訪問時是否將Object轉為標準儲存。只有當IsAccessTime設定為true時才有效。取值如下:

  • true:Object由非標準儲存轉為標準儲存。

  • false(預設值):Object仍為非標準儲存。

如果ReturnToStdWhenVisit選項設定為true,而StorageClass指定的儲存類型不是IA,則導致請求報錯。

問題樣本

以下請求中ReturnToStdWhenVisit選項設定為true,而StorageClass指定的儲存類型為Archive。

PUT /?lifecycle HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Content-Length: 336
Date: Mon , 6 May 2019 15:23:20 GMT
Authorization: OSS qn6q**************:77Dv****************
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
      <ID>rule2</ID>
      <Prefix>abc</Prefix>
      <Status>Enabled</Status>
      <Transition>
      		<IsAccessTime>true</IsAccessTime>
          <Days>200</Days>
          <StorageClass>Archive</StorageClass>
          <ReturnToStdWhenVisit>true</ReturnToStdWhenVisit>
      </Transition>
  </Rule>
</LifecycleConfiguration>

解決方案

  • 將請求體XML中Transition節點下的StorageClass取值修改為IA

PUT /?lifecycle HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Content-Length: 336
Date: Mon , 6 May 2019 15:23:20 GMT
Authorization: OSS qn6q**************:77Dv****************
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>rule</ID>
    <Prefix>test</Prefix>
    <Status>Enabled</Status>
    <Transition>
      <IsAccessTime>true</IsAccessTime>
      <Days>200</Days>
      <StorageClass>IA</StorageClass>
      <ReturnToStdWhenVisit>true</ReturnToStdWhenVisit>
    </Transition>
  </Rule>
</LifecycleConfiguration>
  • 通過OSS管理主控台配置生命週期規則,避免手動構造請求體。

相關文檔