ユースケース
ライフサイクルルール設定を利用すると、ルールに該当するオブジェクトに対し、指定された条件下でいくつかの操作を自動的に実行することができます。例えば次のようなものがあります。
ストレージタイプの切り替え:作成したオブジェクトを、指定の時間が経過した後に低頻度ストレージ(STANDARD_IA)、INTELLIGENT_TIERINGストレージ(INTELLIGENT_TIERING)、アーカイブストレージタイプ(ARCHIVE)、ディープアーカイブストレージタイプ(DEEP_ARCHIVE)に切り替えます。
期限切れの削除:オブジェクトの有効期限を設定し、オブジェクトが期限切れとなった後に自動的に削除します。
利用方法
COSコンソールの使用
2. 左側のナビゲーションメニューで、バケットリストをクリックし、バケットリストのページに移動します。
3. ライフサイクル機能を有効にしたいバケットを見つけ、そのバケット名をクリックして、バケットの詳細ページに移動します。
4. 左側の基本設定>ライフサイクル設定項目を選択し、設定項目の説明は以下の通りです。
アクセス追跡:バケット内のすべてのオブジェクトの最終アクセス日時に基づくライフサイクルルールを設定する場合は、このオプションを有効にしてください。有効にすると、アクセス追跡が開始され、すべてのオブジェクトの最終アクセス日時が記録されます。ステップ5でポリシータイプとして最終アクセス日時を設定できます。
注意:
アクセス追跡機能はホワイトリスト機能であり、ホワイトリストに追加後に使用できます。ビジネス担当者またはお問い合わせまでご連絡ください。ホワイトリスト追加後、即日有効になります。 アクセス追跡機能の利用制限は以下の通りです。
現在、北京、上海、広州、北京一区、重慶、シンガポール、南京のバケットのみでアクセス追跡を有効にすることができます。
OFS 統合バケットはアクセス追跡をサポートしていません。
5. ルールを追加をクリックします。設定項目の説明は以下の通りです。
基本情報
ルール名:ライフサイクルルール名を入力してください。
ポリシータイプ:最終更新日時と最終アクセス日時に分かれます。この設定項目は、アクセス追跡機能のホワイトリストに登録されているユーザーにのみ表示されます。
最終更新日時:オブジェクトの最終更新日時に基づいてルールを設定します。
最終アクセス日時:オブジェクトの最終アクセス日時に基づいてルールを設定します。この設定項目は、ホワイトリストに登録し、アクセス追跡機能を有効にする必要があります(ステップ4で有効化可能)。現在、低頻度ストレージへのデータ移行のみをサポートしています。 注意:
アクセス追跡を有効にした後、COSはバケット内のオブジェクトのアクセス日時の記録を開始します。アクセス追跡を有効にする前のすべてのアクセス行為は、アクセス日時の分析対象に含まれません。例えば、4月1日に統計を取った際、オブジェクトa(標準ストレージ)が10日間アクセスされていないことが判明し、その日にアクセス追跡を有効にして「オブジェクトaの最終アクセス日時から5日後に低頻度ストレージへ移行する」というライフサイクルルールを設定した場合、オブジェクトaは4月6日に低頻度アクセス層へ移行します(4月2日ではありません)。
適用範囲:このライフサイクルルールは、バケット全体に適用することも、指定範囲のオブジェクトに適用することもできます。
指定範囲を選択する場合、以下のいずれかを少なくとも一つ設定してください。
オブジェクトプレフィックス:同一のオブジェクトキープレフィックスを持つオブジェクトに対し、ライフサイクルルールを適用するよう指定できます。正規表現はサポートしていません。 オブジェクトタグ:同一のタグが付与されたオブジェクトに対し、ライフサイクルルールを適用するよう指定できます。複数のタグを指定することが可能で、英字の大文字と小文字を区切ってください。最終アクセス日時に基づくポリシータイプを選択した場合、この項目は設定できません。
注意:
オブジェクトプレフィックスとオブジェクトタグを同時に指定できます。オブジェクトプレフィックスとオブジェクトタグ、オブジェクトタグとオブジェクトタグの間は、すべて「AND」関係(つまり、すべての条件を同時に満たす必要がある)となります。例えば、ライフサイクルルールでオブジェクトプレフィックスをdoc、オブジェクトタグのキーと値のペアをgroup = ITと指定した場合、指定されたオブジェクトの範囲は、現在のバケット内でオブジェクトキーのプレフィックスがdocであり、かつオブジェクトタグがgroup = ITであるすべてのオブジェクトとなります。
バケット全体を選択する場合、除外範囲を設定するかどうかを選択できます。デフォルトでは無効です。以下の設定項目に従って設定できます。
オブジェクトプレフィックス:同一のファイルプレフィックスを持つオブジェクトを除外してライフサイクルルールを実行するように指定できます。なお、この除外範囲設定は統合バケットをサポートしていません。
ルール設定
選択したポリシータイプに基づいて、以下の情報を設定します。
現在のバージョンのオブジェクトを管理:このバージョンのファイルを管理するオプションを有効にすることで、現在のバージョンのオブジェクトを移行または削除できます。バケット内のオブジェクトを標準ストレージなどのホットな階層から、低頻度ストレージなどのコールドな階層へ移行させたり、有効期限切れ後にオブジェクトを削除したりできます。
ストレージタイプはホットからコールドの順に、標準ストレージ > 低頻度ストレージ > インテリジェントティアリングストレージ > アーカイブストレージ > ディープアーカイブストレージとなります。ストレージタイプの移行はホットからコールドへの一方向のみ可能で、逆方向はできません。ストレージタイプの概要と対応リージョンについては、ストレージタイプの概要をご参照ください。時間は、ファイルがオブジェクトストレージ上で変更された時刻を基準に計算が開始されます。オブジェクトの変更は、オブジェクトの再アップロードと見なされます。 説明:
マルチAZ設定を有効にしたバケットの場合、ライフサイクルの移行順序は標準ストレージ(マルチAZ) > 低頻度ストレージ(マルチAZ) > インテリジェントティアリングストレージ(マルチAZ)/アーカイブストレージ(マルチAZ)のみをサポートします。
過去バージョンのオブジェクトを管理:過去バージョンのオブジェクトを管理するオプションを有効にすることで、過去バージョンのオブジェクトを移行または削除できます。このオプションを有効にしない場合、デフォルトで最新バージョンのオブジェクトのみが処理されます。
注意:
過去のバージョンの移行と削除は、オブジェクトが過去のバージョンになった日時を基準に計算され、過去のバージョンのアップロード日時を基準にはしません。
過去のバージョンがない削除マーカーをクリーンアップ:過去のバージョンを持たない削除マーカーをクリーンアップするには、以下の2つの設定を同時に有効にする必要があります。
1.「過去のバージョンのオブジェクトを管理」オプションを有効にし、「有効期限切れた過去のバージョンを削除」を設定します。
2.「過去のバージョンがない削除マーカーをクリーンアップ」オプションを有効にします。
注意:
このオプションの有効性は、過去のバージョンをクリーンアップするルールに依存します。この項目にチェックを入れると、オブジェクトの最新バジョンが削除マーカー(Delete Marker)であり、ライフサイクルによって最後の過去バージョンが削除された場合、翌日に残りの複数の削除マーカーが自動的にクリーンアップされます。例:1月1日に過去バージョンのクリーンアップが完了した後、1月2日に削除マーカーが自動的にクリーンアップされます。詳細はExpiredObjectDeleteMarkerをご参照ください。 このオプションは、現在のバージョンのオブジェクトを管理における「有効期限切れた過去のバージョンを削除」と同時に有効にすることはできません。
チャンクの削除:ファイルのアップロード中に何らかの理由で失敗し、一部しか転送されなかった場合、このような不完全なファイルに対して定期的な削除を設定できます。
バージョニングされたオブジェクトの管理:バージョンファイルの管理オプションを有効にすることで、指定されたファイルが連続アクセス日数内に一定数を下回った場合に、オブジェクトを移行するかどうかを判断できます。標準タイプ(例:標準ストレージ)から低頻度タイプ(例:低頻度ストレージ)へ移行することをサポートします。有効にすると、現在のバージョンと過去のバージョンの両方が移行の対象となります。
6. 情報に誤りがないことを確認後、確定をクリックすると、ライフサイクルルールが表示されます。
注意:
ライフサイクルルールを設定した後、繰り返し変更すると、ライフサイクルルールの実行に影響を与える可能性があります。ルールの有効化に関する説明については、ルール有効化時間に関する説明をご参照ください。 7. ライフサイクルルールを停止したい場合は、編集をクリックし、対応するルールのステータスを無効にするか、ライフサイクルルールを直接削除してください。
8. 現在のバケットのすべてのライフサイクルルールを削除したい場合は、すべてのルールを削除をクリックしてください。
ルール実行優先順位
各バケットには最大1000件のライフサイクルルールを追加できます。同じオブジェクトグループに複数のルールが設定されていて競合が発生する場合、オブジェクトストレージは以下の優先順位に従ってライフサイクルルールを実行します。詳細については、ライフサイクル概要-設定要素-操作 を参照してください。 注意:
腾讯云 COS は、同じオブジェクトグループに複数の競合条件を含むライフサイクルルールを設定しないよう強くお勧めします。競合の実行は異なる費用の表れを引き起こす可能性があります。
同一ライフサイクルルールの異なる操作
ライフサイクルルールを設定し、同じオブジェクトグループに異なる操作(例えば沈降、削除操作など)を設定した場合、これらの操作間の実行ルールと例は以下の通りです:
|
削除操作と沈降操作が同時に満たされる場合、優先して削除操作を実行します。 | ルール R1 : 1. ファイルtest.txtは変更されてから90日後に低頻度ストレージに沈降します。 2. ファイルtest.txtは変更されてから90日後に削除されます。 期待結果: 優先して2を実行し、ファイルtest.txtは90日後に削除されます。1の実行は失敗します。 |
複数の削除操作が同時に満たされる場合、優先して時間がより短い削除操作にマッチします。 | ルール R1 : 1. 指定されたプレフィックスaのファイルは180日後に削除されます。 2. 指定されたプレフィックスaaのファイルは90日後に削除されます。 期待結果: 仮想ストレージバケットにaaa.pngというファイルがあるとき、指定されたプレフィックスaと指定されたプレフィックスaaの両方が同じファイルaaa.pngにマッチした場合、優先順位2が実行され、ファイルaaa.pngは90日後に削除されます。優先順位1の実行は失敗します。 |
複数の沈降操作が同時に満たされる場合、対象のストレージタイプがよりクールな沈降操作が優先してマッチします。 | ルール R1 : 1. ファイルtest.txtは変更されてから90日後に低頻度ストレージに沈降します。 2. ファイルtest.txtは変更されてから90日後にアーカイブストレージに沈降します。 期待結果: 優先して2を実行し、ファイルtest.txtは変更されてから90日後にアーカイブストレージに沈降します。1の実行は失敗します。 |
異なるライフサイクルルールの異なる操作
複数のライフサイクルルールを設定し、異なるルールで同じオブジェクトグループに異なる操作(例えば沈降、削除操作など)を設定した場合、これらの操作間の実行ルールと例は以下の通りです:
|
複数のルール間で異なる削除と沈降操作が同時に満たされる場合、優先して削除時間が最も短い操作にマッチします。 | ルール R1: 1. ファイルtest.txtは変更されてから50日後に低頻度ストレージに沈降します。 2. ファイルtest.txtは変更されてから10日後に削除されます。 ルール R2: 1. ファイルtest.txtは変更されてから10日後に低頻度ストレージに沈降します。 2. ファイルtest.txtは変更されてから30日後に削除されます。 期待結果: マッチングルールR1では、優先して2が実行され、ファイルtest.txtは変更されてから10日後に削除されます。ルールR2の実行に失敗し、R1の1の実行も失敗します。 |
複数のルール間で異なる削除操作が同時に満たされる場合、優先して時間がより短い削除操作にマッチします。 | ルールR1:ファイルtest.txtは変更されてから10日後に削除されます。 ルールR2:ファイルtest.txtは変更されてから30日後に削除されます。 期待結果: ルールR1にマッチし、ファイルtest.txtは変更されてから10日後に削除されます。ルールR2の実行に失敗します。
ルールR3:ファイルexample.txtは変更されてから10日後に削除されます。 ルールR4:ファイルexample.txtは変更されてから10日後に削除されます。 ルールR5:ファイルexample.txtは変更されてから50日後に削除されます。 期待結果: ルールR3またはルールR4にマッチし、ファイルexample.txtは変更されてから10日後に削除されます。ルールR5の実行に失敗します。 |
複数のルール間で異なる沈降操作が同時に満たされる場合、対象のストレージタイプがよりクールな沈降操作が優先してマッチします。 | ルールR1:ファイルtest.txtは変更されてから10日後に低頻度ストレージに沈降します。 ルールR2:ファイルtest.txtは変更されてから10日後にアーカイブストレージに沈降します。 期待結果: ルールR2にマッチし、ファイルtest.txtは変更されてから10日後にアーカイブストレージに沈降します。ルールR1の実行に失敗します。
ルールR3:ファイルexample.txtは変更されてから10日後に低頻度ストレージに沈降します。 ルールR4:ファイルexample.txtは変更されてから10日後にアーカイブストレージに沈降します。 ルールR5:ファイルexample.txtは変更されてから10日後にアーカイブストレージに沈降します。 期待結果: ルールR4またはルールR5にマッチし、ファイルexample.txtは変更されてから10日後にアーカイブストレージに沈降します。ルールR3の実行に失敗します。 |
REST APIの使用
REST APIを直接使用して、バケット内のオブジェクトのライフサイクルの設定と管理を行うことができます。詳細については次のAPIドキュメントをご参照ください。
SDKの使用
SDKのライフサイクルメソッドを直接呼び出すことができます。詳細については、下記の各言語のSDKドキュメントをご参照ください。