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

Object Storage Service:PutBucketLifecycle

最終更新日:Nov 10, 2025

ファイルの最終変更時刻または最終アクセス時刻に基づいてライフサイクルルールを作成し、バケット内の複数のファイルのストレージタイプを定期的に指定された値に変更したり、期限切れのオブジェクトとパーツを定期的に削除したりします。 これにより、ストレージコストを削減できます。 このトピックでは、PutBucketLifecycle 操作を呼び出して、バケットのライフサイクルルールを設定する方法について説明します。

使用上の注意

  • PutBucketLifecycle 操作は、バケットに設定されているライフサイクルルールの既存の設定を上書きします。 たとえば、Rule1 という名前のライフサイクルルールがバケットに設定されていて、Rule1 に基づいて Rule2 という名前のライフサイクルルールをバケットに設定する場合、次の操作を実行します。

    1. GetBucketLifecycle 操作を呼び出して、Rule1 の設定をクエリします。

    2. Rule1 に基づいて、バケットの Rule2 を設定します。

    3. PutBucketLifecycle 操作を呼び出して、バケットのライフサイクルルールの設定を更新します。 Rule1 と Rule2 がバケットに設定されます。

  • ライフサイクルルールを使用して、不完全なマルチパートアップロードタスクでアップロードされたオブジェクトとパーツの有効期限を指定できます。

  • 最終アクセス時刻または最終変更時刻に基づいて、オブジェクトのライフサイクルルールを設定できます。

権限

デフォルトでは、Alibaba Cloud アカウントにはフル権限があります。 Alibaba Cloud アカウントの RAM ユーザーまたは RAM ロールには、デフォルトでは権限がありません。 Alibaba Cloud アカウントまたはアカウント管理者は、RAM ポリシーまたはバケットポリシーを通じて操作権限を付与する必要があります。

API

操作

説明

PutBucketLifecycle

oss:PutBucketLifecycle

バケットのライフサイクルルールを設定します。

リクエスト構文

PUT /?lifecycle HTTP/1.1
Date: GMT Date
Content-Length: ContentLength
Content-Type: application/xml
Authorization: SignatureValue 
Host: BucketName.oss.aliyuncs.com
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>RuleID</ID>
    <Prefix>Prefix</Prefix>
    <Status>Status</Status>
    <Expiration>
      <Days>Days</Days>
    </Expiration>
    <Transition>
      <Days>Days</Days>
      <StorageClass>StorageClass</StorageClass>
    </Transition>
    <AbortMultipartUpload>
      <Days>Days</Days>
    </AbortMultipartUpload>
  </Rule>
</LifecycleConfiguration>

リクエストヘッダー

ヘッダー

タイプ

必須

説明

x-oss-allow-same-action-overlap

String

いいえ

true

重複するプレフィックスを許可するかどうかを指定します。有効な値:

  • true: 重複するプレフィックスが許可されます。

  • false: 重複するプレフィックスは許可されません。

このリクエストには、Date や Authorization など、他の一般的なリクエストヘッダーが含まれています。 詳細については、「共通の HTTP ヘッダー」トピックの「共通のリクエストヘッダー」セクションをご参照ください。

リクエスト要素

要素

タイプ

必須

説明

LifecycleConfiguration

コンテナー

はい

N/A

ライフサイクル設定を格納するコンテナー。 コンテナーには最大 1,000 件のライフサイクルルール設定を格納できます。

子ノード: Rule

親ノード: なし

Rule

コンテナー

はい

N/A

ライフサイクルルールを格納するコンテナー。 オブジェクトの有効期限からオブジェクトが削除されるまでの期間は、オブジェクトの有効期限からオブジェクトのストレージクラスが低頻度アクセス (IA) またはアーカイブに変更されるまでの期間よりも長くする必要があります。

子ノード: ID、Prefix、Status、Expiration

親ノード: LifecycleConfiguration

ID

String

いいえ

rule1

ライフサイクルルールの ID。 ID は最大 255 文字まで使用できます。 この要素を指定しない場合、またはこの要素を空のままにした場合、OSS はライフサイクルルールに一意の ID を自動的に生成します。

子ノード: なし

親ノード: Rule

Prefix

String

いいえ

tmp/

ルールが適用されるオブジェクトの名前のプレフィックス。 異なるルールで指定されたプレフィックスは重複できません。

  • Prefix 要素を指定すると、ルールは、名前がバケット内の指定されたプレフィックスを含むオブジェクトにのみ適用されます。

  • Prefix 要素を指定しない場合、このルールはバケット内のすべてのオブジェクトに適用されます。

子ノード: なし

親ノード: Rule

Status

String

はい

Enabled

ルールを有効にするかどうかを指定します。有効な値:

  • Enabled: ルールを有効にします。 OSS はルールを定期的に実行します。

  • Disabled: ルールを有効にしません。 OSS はルールを無視します。

親ノード: Rule

Expiration

コンテナー

いいえ

N/A

オブジェクトの有効期限が切れたときに、ライフサイクルルールに一致するオブジェクトに対して OSS に実行させる削除操作。 バージョン管理されたバケット内のオブジェクトの場合、この要素で指定された削除操作は、オブジェクトの現在のバージョンに対してのみ実行されます。

オブジェクトの有効期限からオブジェクトが削除されるまでの期間は、オブジェクトの有効期限からオブジェクトのストレージクラスが IA またはアーカイブに変更されるまでの期間よりも長くする必要があります。

子ノード: Days、CreatedBeforeDate、ExpiredObjectDeleteMarker

親ノード: Rule

Days

正の整数

Days または CreatedBeforeDate のいずれかが必要です

1

オブジェクトが最後に変更されてからライフサイクルルールが有効になるまでの日数。

IsAccessTime 要素が true に設定されている場合、Days 要素の値は、オブジェクトに最後にアクセスされてから指定された日数に基づいてライフサイクルルールが有効になることを指定します。

親ノード: Expiration または AbortMultipartUpload

CreatedBeforeDate

String

Days または CreatedBeforeDate のいずれかが必要です

2002-10-11T00:00:00.000Z

ライフサイクルルールが有効になる基準となる日付。 OSS は、最終変更日がこの日付より前のデータに対して指定された操作を実行します。 この要素の値は yyyy-MM-ddT00:00:00.000Z 形式です。

ISO 8601 規格で時間を指定します。 時刻は UTC で 00:00:00 である必要があります。

親ノード: Expiration または AbortMultipartUpload

ExpiredObjectDeleteMarker

String

いいえ

true

期限切れの削除マーカーを自動的に削除するかどうかを指定します。有効な値:

  • true: 期限切れの削除マーカーは自動的に削除されます。 この要素を true に設定した場合、Days 要素または CreatedBeforeDate 要素を指定することはできません。

  • false: 期限切れの削除マーカーは自動的に削除されません。 この要素を false に設定した場合、Days 要素または CreatedBeforeDate 要素を指定する必要があります。

親ノード: Expiration

Transition

コンテナー

いいえ

N/A

オブジェクトの有効期限が切れたときに、ライフサイクルルールに一致するオブジェクトのストレージクラスの変更。

標準オブジェクトのストレージクラスは、IA、アーカイブ、またはコールドアーカイブに変更できます。 オブジェクトの有効期限からオブジェクトのストレージクラスがアーカイブに変更されるまでの期間は、オブジェクトの有効期限からオブジェクトのストレージクラスが IA に変更されるまでの期間よりも長くする必要があります。 たとえば、有効期限後にストレージクラスが IA に変更されるオブジェクトの有効期間が 30 に設定されている場合、ストレージクラスがアーカイブに変更されるオブジェクトの有効期間は 30 より大きい値に設定する必要があります。

親ノード: Rule

子ノード: Days、CreatedBeforeDate、StorageClass

重要
重要

Days または CreatedBeforeDate のいずれかが必要です。

StorageClass

String

Transition または NoncurrentVersionTransition が指定されている場合は必須

IA

オブジェクトが変更されるストレージタイプ。有効な値:

  • IA

  • アーカイブ

  • コールドアーカイブ

  • DeepColdArchive

重要

IA バケット内のオブジェクトのストレージクラスは、アーカイブまたはコールドアーカイブにのみ変換できます。

親ノード: Transition

AbortMultipartUpload

コンテナー

いいえ

N/A

パーツの有効期限が切れたときに、不完全なマルチパートアップロードタスクでアップロードされたパーツに対して OSS に実行させる削除操作。

子ノード: Days または CreatedBeforeDate

親ノード: Rule

Tag

コンテナー

いいえ

N/A

ライフサイクルルールが適用されるオブジェクトのタグ。 複数のタグを指定できます。

親ノード: Rule

子ノード: Key と Value

Key

String

Tag 要素が指定されている場合は必須

TagKey1

オブジェクトに指定されているタグのキー。

親ノード: Tag

Value

String

Tag 要素が指定されている場合は必須

TagValue1

オブジェクトに指定されているタグの値。

親ノード: Tag

NoncurrentVersionExpiration

コンテナー

いいえ

N/A

以前のバージョンの有効期限が切れたときに、ライフサイクルルールに一致するオブジェクトの以前のバージョンに対して OSS に実行させる削除操作。

子ノード: NoncurrentDays

NoncurrentVersionTransition

コンテナー

いいえ

N/A

以前のバージョンの有効期限が切れたときに、ライフサイクルルールに一致するオブジェクトの以前のバージョンのストレージクラスの変更。 以前のバージョンのストレージクラスは、IA またはアーカイブに変更できます。

以前のバージョンの有効期限から以前のバージョンのストレージクラスがアーカイブに変更されるまでの期間は、以前のバージョンの有効期限から以前のバージョンのストレージクラスが IA に変更されるまでの期間よりも長くする必要があります。

子ノード: NoncurrentDays と StorageClass

NoncurrentDays

String

NoncurrentVersionExpiration または NoncurrentVersionTransition が指定されている場合は必須

10

オブジェクトが以前のバージョンになってからライフサイクルルールが有効になるまでの日数。

IsAccessTime 要素が true に設定されている場合、NoncurrentDays 要素は、オブジェクトに最後にアクセスされてから指定された日数に基づいて有効になります。

親ノード: NoncurrentVersionTransition と NoncurrentVersionExpiration

IsAccessTime

String

いいえ

true

最終アクセス時刻に基づいてライフサイクルルールをオブジェクトに適用するかどうかを指定します。有効な値:

  • true: ルールは、最終アクセス時刻に基づいてオブジェクトに適用されます。

  • false (デフォルト): ルールは、最終変更時刻に基づいてオブジェクトに適用されます。

親ノード: Transition または NoncurrentVersionTransition

ReturnToStdWhenVisit

String

いいえ

false

オブジェクトにアクセスされた後、標準以外のオブジェクトのストレージクラスを標準に戻すかどうかを指定します。 この要素は、IsAccessTime 要素が true に設定されている場合にのみ有効になります。有効な値:

  • true: オブジェクトのストレージクラスを標準に変更します。

  • false: オブジェクトのストレージクラスを標準に変更しません。

親ノード: Transition または NoncurrentVersionTransition

AllowSmallFile

String

いいえ

false

最終アクセス時刻に基づいて、サイズが 64 KB 未満のオブジェクトのストレージクラスを IA、アーカイブ、またはコールドアーカイブに変更するかどうかを指定します。有効な値:

  • true: 64 KB 未満のオブジェクトのストレージクラスを IA、アーカイブ、またはコールドアーカイブに変更します。 オブジェクトの最小請求サイズは 64 KB です。 64 KB 未満のオブジェクトは 64 KB として課金されます。 64 KB 以上のオブジェクトは、実際のサイズに基づいて課金されます。 この要素を true に設定すると、ストレージ料金が増加する可能性があります。

  • false: 64 KB 未満のオブジェクトのストレージクラスを変更しません。

親ノード: Transition または NoncurrentVersionTransition

Filter

コンテナー

いいえ

N/A

オブジェクトのフィルタリングに使用する Not 要素を格納するコンテナー。 この要素は空のままにするか、単一の Not ノードのみを指定できます。

親ノード: Rule

子ノード: Not

Not

コンテナー

いいえ

N/A

ライフサイクルルールが適用されないオブジェクトと一致する条件。 Filter 要素に値を指定する場合は、単一の Not ノードのみを指定する必要があります。

親ノード: Filter

子ノード: Prefix と Tag

Prefix

String

はい

tmp/not/

ライフサイクルルールが適用されないオブジェクトの名前のプレフィックス。 この要素は空のままにすることはできません。

  • Rule ノードの Prefix 要素に値を指定する場合、Not ノードで指定された Prefix 要素の値には、Rule ノードで指定された Prefix 要素の値をプレフィックスとして付ける必要があります。 たとえば、Rule ノードで指定された Prefix 要素の値が dir の場合、Not ノードで指定された Prefix 要素の値には dir をプレフィックスとして付ける必要があります。 例: dir1dir2

  • Not ノードでタグが指定されていない場合、Not ノードで指定された Prefix 要素の値は、Rule ノードで指定された Prefix 要素の値と異なる必要があります。

親ノード: Not

子ノード: なし

Tag

コンテナー

いいえ

N/A

ライフサイクルルールが適用されないオブジェクトのタグ。 単一のタグのみを指定するか、この要素を空のままにすることができます。

ObjectSizeGreaterThan

正の整数

いいえ

500

このルールが適用される最小オブジェクトサイズ。 1 つの値のみを指定するか、この要素を空のままにすることができます。 このパラメーターと ObjectSizeLessThan パラメーターの両方が設定されている場合、システムはオブジェクトサイズが指定された範囲内 (最小サイズより大きく、最大サイズより小さい) にあることを確認します。

このパラメーターと AllowSmallFile パラメーターは相互に排他的です。

親ノード: Filter

子ノード: なし

ObjectSizeLessThan

正の整数

いいえ

64000

このルールが適用される最大オブジェクトサイズ。 1 つの値のみを指定するか、この要素を空のままにすることができます。 このパラメーターと ObjectSizeGreaterThan パラメーターの両方が設定されている場合、システムはオブジェクトサイズが指定された範囲内 (最小サイズより大きく、最大サイズより小さい) にあることを確認します。

このパラメーターと AllowSmallFile パラメーターは相互に排他的です。

親ノード: Filter

子ノード: なし

レスポンスヘッダー

DescribeRegions リクエストへのレスポンスのすべてのヘッダーは、共通のレスポンスヘッダーです。 詳細については、「共通レスポンスヘッダー」をご参照ください。

リクエストの例

例 1: 最終変更時刻に基づいてライフサイクルルールを設定して、オブジェクトのストレージクラスのみを変換する

次のコードは、オブジェクトが最後に変更されてから 30 日後に、バケット内の log プレフィックスを含む名前のオブジェクトのストレージクラスを IA に変更するだけのライフサイクルルールを設定する方法の例を示しています。

PUT /?lifecycle HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 336
Date: Mon, 6 May 2019 15:23:20 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>rule</ID>
    <Prefix>log/</Prefix>
    <Status>Enabled</Status>
    <Transition>
      <Days>30</Days>
      <StorageClass>IA</StorageClass>
    </Transition>    
  </Rule>
</LifecycleConfiguration>

例 2: 最終変更時刻に基づいてライフサイクルルールを設定して、オブジェクトのみを削除する

次のコードは、オブジェクトが最後に変更されてから 90 日後に、バケット内の log プレフィックスを含む名前のオブジェクトのみを削除するライフサイクルルールを設定する方法の例を示しています。

PUT /?lifecycle HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 336
Date: Thu, 17 Apr 2025 15:23:20 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>rule</ID>
    <Prefix>log/</Prefix>
    <Status>Enabled</Status>
    <Expiration>
      <Days>90</Days>
    </Expiration>    
 </Rule>
</LifecycleConfiguration>

例 3: 最終変更時刻に基づいてライフサイクルルールを設定して、オブジェクトのストレージクラスを変換し、オブジェクトを削除する

次のコードは、オブジェクトが最後に変更されてから 30 日後にバケット内の log プレフィックスを含む名前のオブジェクトのストレージクラスを IA に変更し、60 日後に IA オブジェクトのストレージクラスをアーカイブに変更し、3,600 日後にアーカイブオブジェクトを削除するライフサイクルルールを設定する方法の例を示しています。

PUT /?lifecycle HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 336
Date: Thu, 17 Apr 2025 15:23:20 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>rule</ID>
    <Prefix>log/</Prefix>
    <Status>Enabled</Status>
    <Transition>
      <Days>30</Days>
      <StorageClass>IA</StorageClass>
    </Transition>
    <Transition>
      <Days>60</Days>
      <StorageClass>Archive</StorageClass>
    </Transition>
    <Expiration>
      <Days>3600</Days>
    </Expiration>
  </Rule>
</LifecycleConfiguration>

例 4: 最終変更時刻に基づいてライフサイクルルールを設定して、オブジェクトの以前のバージョンを削除し、削除マーカーを削除する

次のコードは、オブジェクトが以前のバージョンになってから 5 日後にオブジェクトの以前のバージョンを削除し、削除マーカーを削除するライフサイクルルールを設定する方法の例を示しています。

PUT /?lifecycle HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 336
Date: Thu, 17 Apr 2025 15:23:20 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>rule</ID>
    <Prefix></Prefix>
    <Status>Enabled</Status>
    <Expiration>
      <ExpiredObjectDeleteMarker>true</ExpiredObjectDeleteMarker>
    </Expiration>
    <NoncurrentVersionExpiration>
      <NoncurrentDays>5</NoncurrentDays>
    </NoncurrentVersionExpiration>    
  </Rule>
</LifecycleConfiguration>

例 5: 最終変更時刻に基づいてライフサイクルルールを設定して、オブジェクトのストレージクラスを変換し、オブジェクトを削除する (特定のプレフィックスを含む名前のオブジェクトまたは特定のタグを持つオブジェクトを除く)

次のコードは、最終変更時刻に基づいてライフサイクルルールを設定する方法の例を示しています。 ライフサイクルルールは、オブジェクトが最後に変更されてから 30 日後に、バケット内で次の条件を満たすオブジェクトのストレージクラスをアーカイブに変更し、100 日後にオブジェクトを削除するために使用されます。オブジェクトの名前には log プレフィックスが含まれておらず、キーは key1、値は value1 です。 フィルターノードの Not 要素は、log プレフィックス、key1 キー、value1 値を指定するために使用されます。

PUT /?lifecycle HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 336
Date: Thu, 17 Apr 2025 15:23:20 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>rule</ID>
    <Prefix></Prefix>
    <Status>Enabled</Status>
    <Filter>
      <Not>
        <Prefix>log</Prefix>
        <Tag><Key>key1</Key><Value>value1</Value></Tag>
      </Not>
    </Filter>    
    <Transition>
      <Days>30</Days>
      <StorageClass>Archive</StorageClass>
    </Transition>
    <Expiration>
      <Days>100</Days>
    </Expiration>
  </Rule>
</LifecycleConfiguration>

例 6: 最終アクセス時刻に基づいてライフサイクルルールを設定して、オブジェクトのストレージクラスを変換する

次のコードは、オブジェクトに最後にアクセスされてから 30 日後に、log プレフィックスを含む名前のオブジェクトを IA に変更するライフサイクルルールを設定する方法の例を示しています。 また、次のコードは、オブジェクトに再度アクセスされたときに、オブジェクトのストレージクラスを標準に変更する方法の例も示しています。

PUT /?lifecycle HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 336
Date: Thu, 17 Apr 2025 15:23:20 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>rule</ID>
    <Prefix>log/</Prefix>
    <Status>Enabled</Status>
    <Transition>
      <Days>30</Days>
      <StorageClass>IA</StorageClass>
      <IsAccessTime>true</IsAccessTime>
      <ReturnToStdWhenVisit>true</ReturnToStdWhenVisit>
    </Transition>
  </Rule>
</LifecycleConfiguration>

例 7: 最終変更時刻に基づいてライフサイクルルールを設定して、パーツを削除する

次のコードは、最終変更時刻に基づいてライフサイクルルールを設定し、30 日より前にバケットで生成されたパーツを削除する方法の例を示しています。

PUT /?lifecycle HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 336
Date: Thu, 17 Apr 2025 15:23:20 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>rule</ID>
    <Prefix>/</Prefix>
    <Status>Enabled</Status>    
    <AbortMultipartUpload>
      <Days>30</Days>
    </AbortMultipartUpload>
 </Rule>
</LifecycleConfiguration>

例 8: 最終変更時刻に基づいてライフサイクルルールを設定して、重複するプレフィックスを含む名前のオブジェクトを削除する

次のコードは、dir1/ ディレクトリ内のオブジェクトを最後に変更されてから 180 日後に削除し、dir1/dir2/ サブディレクトリ内のオブジェクトを最後に変更されてから 30 日後に削除するライフサイクルルールを設定する方法の例を示しています。

PUT /?lifecycle HTTP/1.1
Host: oss-example.oss.aliyuncs.com
Content-Length: 336
Date: Thu, 17 Apr 2025 15:23:20 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,AdditionalHeaders=content-length,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
x-oss-allow-same-action-overlap: true
<?xml version="1.0" encoding="UTF-8"?>
<LifecycleConfiguration>
  <Rule>
    <ID>Rule1</ID>
    <Prefix>dir1/</Prefix>
    <Status>Status</Status>
    <Expiration>
      <Days>180</Days>
    </Expiration>
  </Rule>
  <Rule>
    <ID>Rule2</ID>
    <Prefix>dir1/dir2/</Prefix>
    <Status>Status</Status>
    <Expiration>
      <Days>30</Days>
    </Expiration>
  </Rule>
</LifecycleConfiguration>
説明

x-oss-allow-same-action-overlap ヘッダーが false に設定されている場合、OSS は dir1/dir2/ サブディレクトリ内のオブジェクトが同時に 2 つの削除ルールに一致することを検出します。 この場合、OSS は 2 つの削除ルールを拒否し、Overlap for same action type Expiration エラーが報告されます。

レスポンスの例

HTTP/1.1 200 OK
x-oss-request-id: 7D3435J59A9812BAD56E
Date: Mon, 6 May 2019 15:23:20 GMT
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS

OSS SDK

次のプログラミング言語の OSS SDK を使用して、PutBucketLifecycle 操作を呼び出すことができます。

ossutil

PutBucketLifecycle 操作に対応する ossutil コマンドについては、「put-bucket-lifecycle」をご参照ください。

リファレンス

ライフサイクルルールの詳細については、「ライフサイクル」をご参照ください。

エラーコード

エラーコード

HTTP ステータスコード

説明

InvalidArgument

400

考えられる原因:

  • 標準バケット内のオブジェクトのストレージクラスは、標準から IA またはアーカイブに変更できます。 標準バケットのライフサイクルルールを設定して、異なる時点でバケット内のオブジェクトのストレージクラスを IA およびアーカイブに変更できます。 オブジェクトのストレージクラスがアーカイブに変更される指定時点は、オブジェクトのストレージクラスが IA に変更される指定時点よりも後である必要があります。

  • オブジェクトの有効期限からオブジェクトが削除されるまでの期間は、オブジェクトの有効期限からオブジェクトのストレージクラスが IA またはアーカイブに変更されるまでの期間よりも長くする必要があります。

AccessDenied

403

PutBucketLifecycle 操作を実行する権限がありません。 oss:PutBucketLifecycle 権限を持つユーザーのみがライフサイクルルールを設定できます。

MalforedXML

400

ライフサイクルルールの XML 検証で MalformedXML エラーコードが返されます。 たとえば、バケット内のオブジェクトの最終アクセス時刻に基づいてバケットのライフサイクルルールを設定し、バケットのアクセストラッキングを有効にしていない場合、このエラーが発生します。