このドキュメントでは主に、ユーザーがバケットのバケットコピー機能を有効にした場合に、COSがコピーするコンテンツとコピーしないコンテンツについてご説明します。
コピーするコンテンツ
バケットのコピー機能を有効にしたソースバケットにおいて、COSは次のコンテンツをコピーします。
バケットコピールールを追加した後に、ユーザーがソースバケットに新たにアップロードしたあらゆるオブジェクト。
オブジェクトのメタデータおよびバージョンIDなどのオブジェクトの属性情報。
オブジェクトの操作に関する情報。新たに追加された同名のオブジェクト(新規追加オブジェクト)、削除されたオブジェクトなど。
説明:
ソースバケット内で特定のオブジェクトのバージョンを削除するよう指定(バージョンIDを指定)した場合、その操作はコピーされません。
ソースバケットに、例えばライフサイクルルールのような、バケットレベルの設定を追加している場合、これらの設定によって発生したオブジェクトの操作もターゲットバケットにはコピーされません。
バケットコピーにおける削除操作
ソースバケットからオブジェクトを削除する場合、バケットのコピーアクションは次のとおりとなります。
オブジェクトのバージョンIDを指定せずにDELETEリクエストを実行した場合、COSはソースバケットに削除タグを追加します。同期削除タグを選択した場合、バケットコピーはこのタグをターゲットバケットにコピーします。非同期削除タグを選択した場合、ターゲットバケットは削除タグを新たに追加しません。どちらの状況でも、ターゲットバケットは対応するファイルを削除せず、ユーザーはバージョンIDを指定してオブジェクトの過去バージョンにアクセスすることができます。バージョン管理と削除タグの詳細情報については、バージョン管理の概要のドキュメントをご参照ください。 オブジェクトのバージョンIDを指定してDELETEリクエストを実行した場合、COSはソースバケット内の指定されたオブジェクトのバージョンを削除しますが、ターゲットバケットではこの削除操作をコピーしません。すなわち、COSがターゲットバケット内で指定されたオブジェクトのバージョンを削除することはありません。これにより悪意あるデータ削除を防止することができます。
コピーしないコンテンツ
ソースバケットがバケットコピー機能を有効にしている場合、COSは次のコンテンツをコピーしません。
バケットコピー機能を有効にする前にすでに存在したオブジェクトの内容、すなわち既存データ。
暗号化されたオブジェクトの暗号化情報。暗号化されたオブジェクトがコピーされると、暗号化情報は失われます。
ソースバケット内に新たに追加されたデータが、他のバケットからコピーされたオブジェクトデータの場合。
バケットレベルの設定更新アクション。
ライフサイクルの設定実行後の結果。
説明:
オブジェクトデータのバケット間でのバケットコピーは伝達性を有しません。例えば、バケットAをソースバケット、バケットBをターゲットバケットとするものと、バケットBをソースバケット、バケットCをターゲットバケットとする、2つのバケットコピールールを同時に設定したとします。この場合、バケットAに新たに追加されたオブジェクトデータはバケットBにのみコピーされます。そこからさらにバケットCにコピーされることはありません。
例えばライフサイクル設定の場合、ソースバケットのライフサイクル設定を更新しても、COSがこのライフサイクル設定をターゲットバケットに同期的に適用することはありません。
ソースバケットに対してのみライフサイクルルールを設定している場合、COSは期限切れのオブジェクトに削除タグを追加しますが、ターゲットバケットがこれらのタグをコピーすることはありません。ターゲットバケットで期限切れのオブジェクトを削除できるようにしたい場合は、ターゲットバケットに対し単独で、ソースバケットと同一のライフサイクルルールを設定する必要があります。
この記事はお役に立ちましたか?