すべてのプロダクト
Search
ドキュメントセンター

Object Storage Service:0014-00000082

最終更新日:Dec 21, 2023

問題の説明

PutBucketLifecycleリクエストのリクエストボディXMLには、複数のルールが含まれています。 ルールは重複するプレフィックスを含み、競合するライフサイクルルールを指します。

原因

PutBucketLifecycleリクエストを送信します。 リクエストボディXMLには複数のルールが含まれています。 ルールは重複するプレフィックスを含み、競合するライフサイクルルールを指します。 ライフサイクルルールを設定する前に、次の項目に注意してください。

  • ライフサイクルルールを設定すると、オブジェクトのIAへの変換とアーカイブを同時に設定できます。 アーカイブへの変換時間は、IAへの変換時間より後でなければなりません。

  • オブジェクトの有効期限は、オブジェクトがIAまたはアーカイブに変換された時刻よりも後でなければなりません。

設定されたルールが上記の要件を満たさない場合、リクエストエラーが報告されます。

次のrequesでは、3つのルールが設定されます。

  • 最初のルールにはテストプレフィックスが含まれ、プレフィックスに一致するオブジェクトが最後に変更されてから120日後にIAのストレージクラスに変換されることを指定します。

  • 2番目のルールには、test/logプレフィックスが含まれ、プレフィックスと一致するオブジェクトが、オブジェクトが最後に変更されてから60日後にアーカイブのストレージクラスに変換されることを指定します。

  • 3番目のルールには、test/log/cacheプレフィックスが含まれ、プレフィックスと一致するオブジェクトが最後に変更されてから30日後に削除されることを指定します。

上記のルールには、重複するプレフィックスが含まれます。 ルールでは、オブジェクトが最後に変更されてから120日後にIAに変換され、オブジェクトが最後に変更されてから60日後にアーカイブに変換され、オブジェクトが最後に変更されてから30日後に削除されることを個別に指定します。 その結果、リクエストエラーが報告される。

PUT /? ライフサイクルHTTP/1.1
ホスト: oss-example.oss.aliyuncs.com
コンテンツ-長さ: 336
日付: 5月6日月曜日2019 15:23:20 GMT
承認: OSSWnjl3fg9fdv8fg4b ****:Phuu8bBhS8dsff2a ****
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>rule1</ID>
    <Prefix> テスト </Prefix>
    <Status>Enabled</Status>
    <Transition>
    	<日> 120</日>
      <StorageClass>IA</StorageClass>
    </Transition>
  </Rule>
  <Rule>
    <ID>rule2</ID>
    <Prefix>test/log</Prefix>
    <Status>Enabled</Status>
    <Transition>
    	<Days>60</Days>
      <StorageClass>Archive</StorageClass>
    </Transition>
    <Rule>
    <ID>rule3</ID>
    <Prefix>test/log/cache</Prefix>
    <Status>Enabled</Status>
    <Expiration>
    	<Days>30</Days>
    </Expiration>
  </ルール>
</LifecycleConfiguration> 

ソリューション

  • 異なるルールに重複するプレフィックスが含まれている場合は、ストレージクラスの変換と削除に有効期限を設定してください。

    PUT /? ライフサイクルHTTP/1.1
    ホスト: oss-example.oss-cn-hangzhou.aliyuncs.com
    コンテンツ-長さ: 336
    日付: 5月6日月曜日2019 15:23:20 GMT
    承認: OSS Wnjl3fg9fdv8fg4b ****:Phuu8bBhS8dsff2a ****
    <?xml version="1.0" encoding="UTF-8"?>
    <LifecycleConfiguration>
      <Rule>
        <ID>rule1</ID>
        <Prefix> テスト </Prefix>
        <Status>Enabled</Status>
        <Transition>
        	<Days>30</Days>
          <StorageClass>IA</StorageClass>
        </Transition>
      </Rule>
      <Rule>
        <ID>rule2</ID>
        <Prefix>test/log</Prefix>
        <Status>Enabled</Status>
        <Transition>
        	<Days>60</Days>
          <StorageClass>Archive</StorageClass>
        </Transition>
        <Rule>
        <ID>rule3</ID>
        <Prefix>test/log/cache</Prefix>
        <Status>Enabled</Status>
        <Expiration>
        	<日> 120</日>
        </Expiration>
      </ルール>
    </LifecycleConfiguration> 
  • OSSコンソールでライフサイクルルールを設定して、リクエストボディを手動で作成しないようにします。

関連ドキュメント