edit-icon download-icon

PutBucketLifecycle

最終更新日: Aug 01, 2018

バケットオーナーは、PutBucketLifecycle リクエストを使用してバケットのライフサイクルを設定できます。ライフサイクルを有効にすると、ライフサイクルルールに対応するオブジェクトが定期的に削除されます。

リクエスト構文

  1. PUT /?lifecycle HTTP/1.1
  2. Date: GMT Date
  3. Content-Length: ContentLength
  4. Content-Type: application/xml
  5. Authorization: SignatureValue
  6. Host: BucketName.oss.aliyuncs.com
  7. <?xml version="1.0" encoding="UTF-8"?>
  8. <LifecycleConfiguration>
  9. <Rule>
  10. <ID>RuleID</ID>
  11. <Prefix>Prefix</Prefix>
  12. <Status>Status</Status>
  13. <Expiration>
  14. <Days>Days</Days>
  15. </Expiration>
  16. <AbortMultipartUpload>
  17. <Days>Days</Days>
  18. </AbortMultipartUpload>
  19. </Rule>
  20. </LifecycleConfiguration>

リクエストの要素

パラメータ名 必須かどうか 説明
CreatedBeforeDate string
Days または CreatedBeforeDate ルールがいつ有効になるか開始時間を指定します。日付は ISO8601 形式に準拠している必要があります。時刻は常に午前 0 時 (UTC) です。
親ノード: Expiration
Days string
Days または CreatedBeforeDate オブジェクトが最後に変更されてから何日後にルールが有効になるかを指定します。
親ノード: Expiration
Expiration container
はい ルールの有効期限のプロパティを指定します。
サブノード: Days または CreatedBeforeDate
親ノード: Rule
AbortMultipartUpload container
いいえ 満たされていないパートルールの有効期限属性を指定します。
サブノード: Days または CreatedBeforeDate
親ノード: Rule
ID string
いいえ ルールの一意の ID。長さの上限は 255 バイトです。この値を指定しなかった場合や、値が null の場合は、自動的に一意の値が生成されます。
サブノード: なし
親ノード: Rule
LifecycleConfiguration container
はい ライフサイクル設定の格納に使用されるコンテナー。最大 1000 個のルールを保持できます。
サブノード: Rule
親ノード: なし
Prefix string
はい ルールが適用されるプレフィックスを指定します。一致するプレフィックスを持つオブジェクトにのみルールが適用されます。
サブノード: なし
親ノード: Rule
Rule container
はい ルールを記述します。
サブノード: ID、Prefix、Status、Expiration
親ノード: LifecycleConfiguration
Status string
はい この値が Enabled である場合、このルールは定期的に実行されます。この値が Disabled である場合、このルールは無視されます。
親ノード: Rule
有効な値: Enabled、Disabled

詳細分析

  • PutBucketLifecycle リクエストを開始できるのはバケットオーナーだけです。他のユーザーが開始しようとすると、403 Forbidden というメッセージが返されます。エラーコードは AccessDenied です。
  • 以前にライフサイクルが設定されていない場合は、新しいライフサイクル設定が作成されます。設定されている場合は、前の設定が上書きされます。
  • オブジェクトまたはパートの有効期限を設定することもできます。 ここでパートはマルチパートアップロードのための未提出部分を参照できます。

リクエストの例:

  1. PUT /?lifecycle HTTP/1.1
  2. Host: oss-example.oss.aliyuncs.com
  3. Content-Length: 443
  4. Date: Mon, 14 Apr 2014 01:08:38 GMT
  5. Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:KU5h8YMUC78M30dXqf3JxrTZHiA=
  6. <?xml version="1.0" encoding="UTF-8"?>
  7. <LifecycleConfiguration>
  8. <Rule>
  9. <ID>delete objects and parts after one day</ID>
  10. <Prefix>logs/</Prefix>
  11. <Status>Enabled</Status>
  12. <Expiration>
  13. <Days>1</Days>
  14. </Expiration>
  15. <AbortMultipartUpload>
  16. <Days>1</Days>
  17. </AbortMultipartUpload>
  18. </Rule>
  19. <Rule>
  20. <ID>delete created before date</ID>
  21. <Prefix>backup/</Prefix>
  22. <Status>Enabled</Status>
  23. <Expiration>
  24. <CreatedBeforeDate>2014-10-11T00:00:00.000Z</CreatedBeforeDate>
  25. </Expiration>
  26. <AbortMultipartUpload>
  27. <CreatedBeforeDate>2014-10-11T00:00:00.000Z</CreatedBeforeDate>
  28. </AbortMultipartUpload>
  29. </Rule>
  30. </LifecycleConfiguration>

レスポンスの例:

  1. HTTP/1.1 200 OK
  2. x-oss-request-id: 534B371674E88A4D8906008B
  3. Date: Mon, 14 Apr 2014 01:17:10 GMT
  4. Content-Length: 0
  5. Connection: keep-alive
  6. Server: AliyunOSS