このトピックでは、ライフサイクルルールの設定例を示します。

OSS API を使用して、バケット内のオブジェクトのライフサイクルルールを設定できます。 次の例に示すように、ライフサイクルルールは XML 形式です。

<LifecycleConfiguration>
<Rule>
<ID>delete logs after 10 days</ID>
<Prefix>logs/</Prefix>
<Status>Enabled</Status>
<Expiration>
<Days>10</Days>
</Expiration>
</Rule>
<Rule>
<ID>delete doc</ID>
<Prefix>doc/</Prefix>
<Status>Disabled</Status>
<Expiration>
<CreatedBeforeDate>2017-12-31T00:00:00.000Z</CreatedBeforeDate>
</Expiration>
</Rule>
<Rule>
<ID>delete xx=1</ID>
<Prefix>rule2</Prefix>
<Tag><Key>xx</Key><Value>1</Value></Tag>
<Status>Enabled</Status>
<Transition>
<Days>60</Days>
<StorageClass>Archive</StorageClass>
</Transition>
</Rule>
</LifecycleConfiguration>
		
上記の例では、次の 3 つのライフサイクルルールが設定されています。
  • 1 番目のルールは、logs/ というプレフィックスで始まり、10 日前に変更されたオブジェクトが削除されることを示します。
  • 2 番目のルールは、doc/ というプレフィックスで始まり、2014 年 12 月 31 日より前に変更されたオブジェクトが削除されることを示します。 ただし、このルールは Disabled ステータスなので、有効になりません。
  • 3 番目のルールは、タグ "xx=1" が設定され、60 日前に変更されたオブジェクトのストレージクラスがアーカイブに変更されることを示します。

ライフサイクルルールを設定するとき、次の要素を設定する必要があります。

  • <ID>:一意のルール ID を示します。
  • <Status>:ライフサイクルルールのステータスを 2 つの値 (Enabled または Disabled) で示します。 ステータスが Enabled のルールのみが適用されます。
  • <Prefix>:特定のプレフィックスで始まるオブジェクトに対してのみルールが適用されることを示します。
  • <Expiration>:期限切れオブジェクトに対して実行される操作を示します。 サブ要素 <CreatedBeforeDate><Days> は、それぞれ絶対的な有効期限と相対的な有効期限を示します。
    • <CreatedBeforeDate>:有効期限と、期限切れオブジェクトに対して実行される操作を指定します。 指定した日付より前に変更されたオブジェクトの期限が切れ、オブジェクトに対して指定した操作が実行されます。
    • <Days>:有効期間 (N 日) と、期限切れオブジェクトに対して実行される操作を指定します。 オブジェクトが最後に変更されてから N 日後に期限が切れ、指定した操作がオブジェクトに対して実行されます。