3.4.2. オブジェクトのコピー
オブジェクトをコピーすると、オブジェクトのサーバー側のコピーを作成し、ダウンロードして別のコンテナー/名前でアップロードする必要はありません。あるオブジェクトのコンテンツを別のオブジェクトにコピーするには、API バージョン、アカウント、およびコンテナー名で PUT
要求または COPY
要求を行います。PUT
要求の場合は、要求で宛先コンテナーおよびオブジェクト名、および要求ヘッダーのソースコンテナーおよびオブジェクトを使用します。Copy
リクエストには、要求でソースコンテナーおよびオブジェクト、および要求ヘッダーの宛先コンテナーおよびオブジェクトを使用します。オブジェクトをコピーするには、コンテナーに書き込みパーミッションが必要です。宛先オブジェクト名は、コンテナー内で一意である必要があります。リクエストはべき等ではないため、一意の名前を使用しないと、リクエストにより宛先オブジェクトが更新されます。ただし、オブジェクト名に疑似階層構文を使用して、宛先オブジェクトが別の擬似階層ディレクトリーにある場合は、同じ名前のソースオブジェクトと区別することができます。リクエストには、アクセス制御ヘッダーおよびメタデータヘッダーを含めることができます。
構文
PUT /<api_version>/<account>/<tenant>:<dest_container>/<dest_object> HTTP/1.1 X-Copy-From: <tenant>:<source_container>/<source_object> Host: <Fully_Qualified_Domain_Name> X-Auth-Token: <auth_token>
または、次のようになります。
構文
COPY /<api_version>/<account>/<tenant>:<source_container>/<source_object> HTTP/1.1 Destination: <tenant>:<dest_container>/<dest_object>
名前 | 説明 | 型 | 必須 |
---|---|---|---|
|
ソースコンテナー/オブジェクトパスを定義するために | 文字列 |
はい ( |
|
宛先コンテナー/オブジェクトパスを定義するために | 文字列 |
はい ( |
|
ソースオブジェクトの | Date | いいえ |
|
ソースオブジェクトの | Date | いいえ |
| リクエストの ETag がソースオブジェクトの ETag と一致する場合にのみコピーします。 | ETag. | いいえ |
| リクエストの ETag がソースオブジェクトの ETag と一致しない場合にのみコピーします。 | ETag. | いいえ |