このトピックでは、バケット内のオブジェクトをより適切に管理できるように、ライフサイクル設定の一般的な例をいくつか示します。
フィルター条件の指定
各ライフサイクルルールには、ライフサイクルルールがバケット内の特定のオブジェクトまたはすべてのオブジェクトに適用されるかどうかを決定する少なくとも1つのフィルター条件が含まれています。 次の例は、ライフサイクル設定でフィルター条件を指定する方法を示しています。
例1: 特定の日数が経過した後、のストレージクラスを変換し、名前に特定のプレフィックスが含まれるオブジェクトを削除します。
ライフサイクルルールの設定では、doc/
プレフィックスがフィルター条件として指定されます。 この条件は、ライフサイクルルールがdoc/test1.txt
やdoc/test2.jpg
など、名前の先頭にdoc/
が付いたオブジェクトにのみ適用されることを指定します。 ルールは、ルールに一致するオブジェクトのストレージクラスを、オブジェクトが最後に変更されてから180日後に低頻度アクセス (IA) に変換し、ルールに一致するオブジェクトを最後に変更されてから365日後に削除することを指定します。
次の例は、XML形式およびObject Storage Service (OSS) コンソールでのライフサイクルルールの設定を示しています。
XML形式の設定
<LifecycleConfiguration> <Rule> <ID>test-rule0</ID> <Prefix>doc/</Prefix> <Status>Enabled</Status> <Transition> <Days>180</Days> <StorageClass>IA</StorageClass> </Transition> <Expiration> <Days>365</Days> </Expiration> </Rule> </LifecycleConfiguration>
OSSコンソールでの設定
説明次の図は、OSSコンソールでの前述のライフサイクルルールの設定を示しています。 詳細については、「ライフサイクルルールの設定」をご参照ください。
例2: 特定の日数が経過した後にバケット内のすべてのオブジェクトを削除する
次のライフサイクル設定例では、フィルタ条件は、ライフサイクルルールがバケット内のすべてのオブジェクトに適用されることを指定します。 バケット内のすべてのオブジェクトは、ライフサイクルルールに基づいてオブジェクトが最後に変更されてから300日後に期限切れになります。
次の例は、XML形式およびOSSコンソールでのライフサイクルルールの設定を示しています。
XML形式の設定
<LifecycleConfiguration> <Rule> <ID>test-rule1</ID> <Prefix></Prefix> <Status>Enabled</Status> <Expiration> <Days>300</Days> </Expiration> </Rule> </LifecycleConfiguration>
OSSコンソールでの設定
説明次の図は、OSSコンソールでの前述のライフサイクルルールの設定を示しています。 詳細については、「ライフサイクルルールの設定」をご参照ください。
例3: バケット内の特定の日付より前に変更されたすべてのオブジェクトを削除する
次のライフサイクル設定例では、Prefixパラメーターは設定されておらず、フィルター条件では、ライフサイクルルールがバケット内のすべてのオブジェクトに適用されることを指定しています。 12月30日より前に変更されたすべてのオブジェクトは、ライフサイクルルールに基づいて期限切れに2023ます。
次の例は、XML形式およびOSSコンソールでのライフサイクルルールの設定を示しています。
XML形式の設定
<LifecycleConfiguration> <Rule> <ID>test-rule0</ID> <Prefix></Prefix> <Status>Enabled</Status> <Expiration> <CreatedBeforeDate>2023-12-30T00:00:00.000Z</CreatedBeforeDate> </Expiration> </Rule> </LifecycleConfiguration>
OSSコンソールでの設定
説明次の図は、OSSコンソールでの前述のライフサイクルルールの設定を示しています。 詳細については、「ライフサイクルルールの設定」をご参照ください。
重複するフィルター条件の指定
次の例は、ライフサイクルルールのフィルター条件が重複している場合に、ライフサイクルルールで指定された操作が競合するかどうかを示しています。
例1: 重複するプレフィックスに基づくライフサイクルルールで指定された操作 (競合なし)
この例は、ライフサイクルルールで指定された条件が競合しない場合のライフサイクルルールの適用方法を示しています。 重複プレフィックスが設定されている次のライフサイクルルールを指定するとします。
ルール1は、名前にtest/ prefixが含まれるオブジェクトに適用され、オブジェクトが最後に変更されてから30日後に、これらのオブジェクトのストレージクラスがアーカイブに変換されることを指定します。
ルール2はバケット内のすべてのオブジェクトに適用され、オブジェクトが最後に変更されてから365日後に削除されることを指定します。
実行結果: 2つのルールは競合しません。 したがって、2つのライフサイクルルールで指定された操作が有効になります。
次の例は、XML形式およびOSSコンソールでのライフサイクルルールの設定を示しています。
XML形式の設定
<LifecycleConfiguration> <Rule> <ID>test-rule1</ID> <Prefix>test/</Prefix> <Status>Enabled</Status> <Transition> <Days>30</Days> <StorageClass>Archive</StorageClass> </Transition> </Rule> <Rule> <ID>test-rule2</ID> <Prefix></Prefix> <Status>Enabled</Status> <Expiration> <Days>365</Days> </Expiration> </Rule> </LifecycleConfiguration>
OSSコンソールでの設定
説明次の図は、OSSコンソールでの前述のライフサイクルルールの設定を示しています。 詳細については、「ライフサイクルルールの設定」をご参照ください。
ルール1
ルール2
例2: タグに基づくライフサイクルルールで指定された操作 (競合)
この例では、ライフサイクルルールで指定された条件が競合した場合のライフサイクルルールの適用方法を示します。 次のライフサイクルルールを指定するとします。
規則1は、タグa (tag1/value1) に基づいてフィルタ条件を指定し、タグが追加されたオブジェクトのストレージクラスを、オブジェクトが最後に変更されてから180日後にIAに変換することを指定します。
ルール2は、タグB (tag2/value2) に基づいてフィルタ条件を指定し、タグが追加されたオブジェクトが最後に変更されてから10日後に期限切れになることを指定します。
オブジェクトに2つのライフサイクルルールで指定された2つのタグがある場合、両方のライフサイクルルールがオブジェクトに適用されます。
実行結果: オブジェクトは、オブジェクトが最後に変更されてから10日後に期限切れになります。 オブジェクトが削除された後、最初のライフサイクルルールで指定されたストレージクラス変換操作は実行できません。 したがって、2番目のライフサイクルルールで指定された有効期限操作のみが有効になります。
次の例は、XML形式およびOSSコンソールでのライフサイクルルールの設定を示しています。
XML形式の設定
<LifecycleConfiguration> <Rule> <ID>test-rule1</ID> <Prefix></Prefix> <Tag> <Key>tag1</Key> <Value>value1</Value> </Tag> <Status>Enabled</Status> <Transition> <Days>180</Days> <StorageClass>IA</StorageClass> </Transition> </Rule> <Rule> <ID>test-rule2</ID> <Prefix></Prefix> <Tag> <Key>tag2</Key> <Value>value2</Value> </Tag> <Status>Enabled</Status> <Expiration> <Days>10</Days> </Expiration> </Rule> </LifecycleConfiguration>
OSSコンソールでの設定
説明次の図は、OSSコンソールでの前述のライフサイクルルールの設定を示しています。 詳細については、「ライフサイクルルールの設定」をご参照ください。
ルール1
ルール2
例3: 同じ時間に基づくライフサイクルルールで指定された操作 (競合)
この例では、ライフサイクルルールで指定された条件が競合した場合のライフサイクルルールの適用方法を示します。 次のライフサイクルルールを指定するとします。
ルール1: 最後に365日以上変更されたオブジェクトをIAオブジェクトに変換するように指定します。
ルール2: 365日以上最後に変更されたオブジェクトを削除するように指定します。
実行結果: ルールに一致するオブジェクトは、オブジェクトが365日以上最後に変更された後に削除されます。
次の例は、XML形式およびOSSコンソールでのライフサイクルルールの設定を示しています。
XML形式の設定
<LifecycleConfiguration> <Rule> <ID>rule1</ID> <Prefix></Prefix> <Status>Enabled</Status> <Transition> <Days>365</Days> <StorageClass>IA</StorageClass> </Transition> </Rule> <Rule> <ID>rule2</ID> <Prefix></Prefix> <Status>Enabled</Status> <Expiration> <Days>365</Days> </Expiration> </Rule> </LifecycleConfiguration>
OSSコンソールでの設定
説明次の図は、OSSコンソールでの前述のライフサイクルルールの設定を示しています。 詳細については、「ライフサイクルルールの設定」をご参照ください。
ルール1
ルール2
例4: 重複するプレフィックスと同じ操作に基づくライフサイクルルールで指定された操作 (競合)
この例では、ライフサイクルルールで指定された条件が競合した場合のライフサイクルルールの適用方法を示します。 次のライフサイクルルールを指定するとします。
ルール1は、ログ /プレフィックスを含むオブジェクトのストレージクラスを指定し、オブジェクトが最後に変更されてから180日後にIAに変換します。
ルール2では、オブジェクトが最後に変更されてから30日後に、すべてのオブジェクトのストレージクラスがIAに変換されます。
実行結果: すべてのオブジェクトのストレージクラスは、オブジェクトが最後に変更されてから30日後にIAに変換されます。
次の例は、XML形式およびOSSコンソールでのライフサイクルルールの設定を示しています。
XML形式の設定
<LifecycleConfiguration> <Rule> <ID>rule1</ID> <Prefix>logs/</Prefix> <Status>Enabled</Status> <Transition> <Days>180</Days> <StorageClass>IA</StorageClass> </Transition> </Rule> <Rule> <ID>rule2</ID> <Prefix></Prefix> <Status>Enabled</Status> <Transition> <Days>30</Days> <StorageClass>IA</StorageClass> </Transition> </Rule> </LifecycleConfiguration>
OSSコンソールでの設定
説明次の図は、OSSコンソールでの前述のライフサイクルルールの設定を示しています。 詳細については、「ライフサイクルルールの設定」をご参照ください。
ルール1
ルール2
ライフサイクルルールの無効化
この例では、ライフサイクルルールで指定された条件が競合した場合のライフサイクルルールの適用方法を示します。 次のライフサイクルルールを指定するとします。
ルール1は無効になっており、
logs/
プレフィックスを名前に含むオブジェクトのストレージクラスを指定し、オブジェクトが作成されてから100日後にIAに変換します。ルール2が有効になり、名前に
documents/
プレフィックスが含まれるオブジェクトのストレージクラスを指定し、オブジェクトが作成されてから50日後にアーカイブに変換します。
実行結果: StatusパラメーターがEnabledに設定されているライフサイクルルールのみが有効になります。
次の例は、XML形式およびOSSコンソールでのライフサイクルルールの設定を示しています。
XML形式の設定
<LifecycleConfiguration> <Rule> <ID>test-rule1</ID> <Prefix>logs/</Prefix> <Status>Disabled</Status> <Transition> <Days>100</Days> <StorageClass>IA</StorageClass> </Transition> </Rule> <Rule> <ID>test-rule2</ID> <Prefix>documents/</Prefix> <Status>Enabled</Status> <Transition> <Days>50</Days> <StorageClass>Archive</StorageClass> </Transition> </Rule> </LifecycleConfiguration>
OSSコンソールでの設定
説明次の図は、OSSコンソールでの前述のライフサイクルルールの設定を示しています。 詳細については、「ライフサイクルルールの設定」をご参照ください。
ルール1
ルール2
バージョン管理されたバケットのライフサイクルルールの設定
バージョン化されたバケットでは、各オブジェクトは現在のバージョンを持ち、以前のバージョンを持つことができます。 バージョン管理の詳細については、「バージョン管理」をご参照ください。
例1: 特定の日数が経過した後のオブジェクトの以前のバージョンのストレージクラスの変換と削除
ライフサイクルルールでは、バケット内のすべてのオブジェクトのストレージクラスが、オブジェクトが最後に変更されてから10日後にIAに変換され、オブジェクトが以前のバージョンになってから60日後にArchiveに変換されます。 さらに、オブジェクトは以前のバージョンになってから90日後に削除されます。
次の例は、XML形式およびOSSコンソールでのライフサイクルルールの設定を示しています。
XML形式の設定
<LifecycleConfiguration> <Rule> <ID>test-rule0</ID> <Prefix></Prefix> <Status>Enabled</Status> <Transition> <Days>10</Days> <StorageClass>IA</StorageClass> </Transition> <NoncurrentVersionTransition> <NoncurrentDays>60</NoncurrentDays> <StorageClass>Archive</StorageClass> </NoncurrentVersionTransition> <NoncurrentVersionExpiration> <NoncurrentDays>90</NoncurrentDays> </NoncurrentVersionExpiration> </Rule> </LifecycleConfiguration>
OSSコンソールでの設定
説明次の図は、OSSコンソールでの前述のライフサイクルルールの設定を示しています。 詳細については、「ライフサイクルルールの設定」をご参照ください。
例2: 期限切れの削除マーカーの削除
オブジェクトの現在のバージョンが削除マーカーであり、オブジェクトの他のバージョンが削除されている場合、削除マーカーは期限切れになります。 次のライフサイクルルールを設定して、期限切れの削除マーカーを削除できます。
次の例は、XML形式およびOSSコンソールでのライフサイクルルールの設定を示しています。
XML形式の設定
<LifecycleConfiguration> <Rule> <ID>test-rule0</ID> <Prefix></Prefix> <Status>Enabled</Status> <Expiration> <ExpiredObjectDeleteMarker>true</ExpiredObjectDeleteMarker> </Expiration> </Rule> </LifecycleConfiguration>
OSSコンソールでの設定
説明次の図は、OSSコンソールでの前述のライフサイクルルールの設定を示しています。 詳細については、「ライフサイクルルールの設定」をご参照ください。
期限切れの部品を削除するライフサイクルルールの設定
マルチパートアップロードを使用してオブジェクトをアップロードし、CompleteMultipartUpload操作を呼び出してマルチパートアップロードタスクを完了しないとします。 この場合、ライフサイクルルールを設定して、ログプレフィックスを含む名前の部品がアップロードされてから5日後に期限切れになるように指定できます。
次の例は、XML形式およびOSSコンソールでのライフサイクルルールの設定を示しています。
XML形式の設定
<LifecycleConfiguration> <Rule> <ID>lifecyclerule1</ID> <Prefix>logs/</Prefix> <Status>Enabled</Status> <AbortMultipartUpload> <Days>5</Days> </AbortMultipartUpload> </Rule> </LifecycleConfiguration>
OSSコンソールでの設定
説明次の図は、OSSコンソールでの前述のライフサイクルルールの設定を示しています。 詳細については、「ライフサイクルルールの設定」をご参照ください。