オブジェクト・ストレージ内の別のバケットへのオブジェクトのコピー
オブジェクトをObject Storageの別のバケットにコピーします。
オブジェクトのコピー上書きルール
エンティティ・タグ(ETag)の値に基づいてオブジェクトのコピーを制御するには、上書きルールを使用します。
-
宛先オブジェクトの上書き: ETag値によるコピー操作を制限しない場合は、このオプションを使用します。このオプションはデフォルトです。このオプションは、既存のオブジェクトの上書きを伴うかどうかに関係なく、すべてのコピー操作に使用できます。
-
宛先オブジェクトを上書きしない: 宛先オブジェクトのETag値に関係なく、宛先の場所にあるオブジェクトの既存のコピーが上書きされないようにする場合は、このオプションを使用します。
-
指定したETagに一致する場合にのみ宛先オブジェクトの上書き: 指定したETagがない宛先の場所にあるオブジェクトが誤って上書きされないようにする場合は、このオプションを使用します。このオプションを使用すると、コピー・リクエストの開始時に指定したETagが宛先オブジェクトのETagと一致する場合にのみ、コピー操作が成功します。
-
ソースが指定されたETagと一致する場合にのみオブジェクトをコピー: コピー・リクエストの開始時に指定したETagがソース・オブジェクトのETagと一致する場合にのみ、コピー操作が成功するようにする場合は、このオプションを使用します。データ管理アクティビティの一部として意図的に更新および上書きされるオブジェクトの場合、このオプションを使用すると、指定したバージョンのオブジェクト(ETagで指定)のみがコピーできるようになります。コピー作業リクエストの作成後、コピー操作の実行前にオブジェクトのETag値が変更された場合、コピー操作は完了しません。
オブジェクトを上書きすると、操作は元に戻せません。
範囲および制約
-
アーカイブ・ストレージからオブジェクトを直接コピーすることはできません。アーカイブ・ストレージにあるオブジェクトをコピーするには、最初にオブジェクトを標準オブジェクト・ストレージ層にリストアする必要があります。オブジェクトは、標準層または頻度の低いアクセス層からアーカイブ層バケットに直接コピーできます。オブジェクトをアーカイブ・ストレージ・バケットにコピーすると、オブジェクトのコピーはすぐにアーカイブされます。
-
コピー・リクエストに既存のターゲット・バケットを指定します。コピー操作は、バケットを自動的に作成しません。
-
オブジェクトがコピーされると、宛先オブジェクトは新しいETag値を受け取ります。
-
コピー操作中にソース・オブジェクトの名前の変更、上書きまたは削除を実行すると、コピー操作が失敗し、宛先オブジェクトは作成または上書きされません。
-
バルク・コピーはサポートされていません。コピー・リクエストで単一オブジェクトを識別します。
サービス権限
オブジェクト・ストレージはリージョナル・サービスであるため、代理でコピー操作を実行する各リージョンのオブジェクト・ストレージ・サービスを認可する必要があります。たとえば、オブジェクト・ストレージ・サービスをリージョン米国東部(アッシュバーン)で認可して、代理でオブジェクトを管理できます。オブジェクト・ストレージ・サービスを認可すると、米国東部(アッシュバーン)バケットに格納されているオブジェクトを、別のリージョンのバケットにコピーできます。
Oracle Cloud Infrastructureリージョンのリージョン識別子の値を決定するには、リージョンおよび可用性ドメインを参照してください。
管理者の場合:
オブジェクト・コピーを有効にするには、代理でオブジェクトを管理するサービスを認可する必要があります:
-
指定したリージョンで、テナンシのすべてのコンパートメント内のオブジェクト・ストレージのネームスペース、バケット、およびそれらに関連付けられたオブジェクトを管理するサービスを認可するポリシーを作成できます:
Allow service objectstorage-<region_identifier> to manage object-family in tenancy
-
ポリシー動詞
manage
を使用するかわりに、次のいずれかのステートメントを使用して、アクセスの範囲を狭くするポリシーを作成できます:Allow service objectstorage-<region_identifier> to manage object-family in tenancy where any {request.permission='OBJECT_READ', request.permission='OBJECT_INSPECT', request.permission='OBJECT_CREATE', request.permission='OBJECT_OVERWRITE', request.permission='OBJECT_DELETE'}
Allow service objectstorage-<region_identifier> to manage object-family in compartment <compartment_name> where any {request.permission='OBJECT_READ', request.permission='OBJECT_INSPECT', request.permission='OBJECT_CREATE', request.permission='OBJECT_OVERWRITE', request.permission='OBJECT_DELETE'}
オブジェクトのコピー
「作業リクエストの詳細」ダイアログ・ボックスが表示され、コピー・リクエストが正常に送信されたことを確認し、リクエストのステータスを追跡します。
オブジェクトを別のバケットにコピーするには、oci os object copyコマンドと必要なパラメータを使用します:
oci os object copy --bucket-name source_bucket_name --source-object-name source_object_name --destination-bucket destination_bucket_name [OPTIONS]
例:
oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-namespace ansh8lvru1zp --destination-bucket UK_photos
別のリージョンへのオブジェクトのコピー
destination-region
パラメータとリージョン識別子を含めて、宛先オブジェクトが存在するリージョンよりも、そのリージョン内のターゲット・バケットを指定します。例:
オブジェクトをそのリージョンのバケットにコピーするには、テナンシがリージョンにサブスクライブされている必要があります。oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-region uk-london-1
別の宛先ストレージ層へのコピー
destination-object-storage-tier
パラメータとサポートされているストレージ層の値を含めて、オブジェクトをソース上にある層とは異なるストレージ層の宛先バケットにコピーします。例:
oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-object-storage-tier Archive
サポートされている値:
-
Standard
(デフォルト) -
InfrequentAccess
-
Archive
-
宛先ストレージ層を指定しない場合、オブジェクトはバケットと同じストレージ層に格納されます。詳細は、オブジェクト・ストレージの階層を参照してください。
コピーされたオブジェクトのネームスペースの指定
destination-namespace
パラメータとその値を含めて、オブジェクトのコピー先の宛先ネームスペースを指定します。例:
詳細については、Understanding Namespacesを参照してください。oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-namespace MyNamespace
コピーされたオブジェクトの代替名の指定
コピーしたオブジェクトに代替名を適用するには、
パラメータとその値を含めます。destination-object-name
例:
oci os object copy --bucket-name photos --source-object-name hummingbird.jpg --destination-bucket UK_photos --destination-object-name hummingbird_brochure.jpg
デフォルトでは、名前はコピー先オブジェクトと同じ名前になります。
CLIコマンドのパラメータおよび値の完全なリストは、CLIコマンド・リファレンスを参照してください。
-
CopyObject操作を実行して、オブジェクトを別のバケットにコピーします。