オブジェクト複製 COPY /v1/{account}/{container}/{object}

オブジェクトを複製する。

PUT オブジェクトでX-Copy-Fromを指定した場合と同じ動作になります。

この操作を使ってマニフェストオブジェクトをコピーする場合、新しいオブジェクトは、すべてのセグメントを結合した通常オブジェクトになります。従って、結合サイズが5GBを超えるようなオブジェクトをコピーすることはできません。

メタデータは複製元オブジェクトと同様のものが付与されます。リクエストの際にメタデータを指定した場合は、複製後に、複製先のオブジェクトのメタデータを更新します。

オブジェクトの作成に成功した場合、201 Createdステータスコードを返却します。

注意:
オブジェクトストレージはEventual Consistencyに基づき、いくつかのレプリカが存在する状態が存在するが、COPY操作は最新のレプリカを選択して行われる。言い換えると、COPYを使用すると、X-Newestヘッダーを使用したのと同等の動作が行われる。

Request Headers

X-Auth-Token

認証トークン

Data Type Cardinality
String 1..1

Destination

コピー先コンテナ名およびオブジェクト名を/{container}/{object}の形式で指定します。また、コンテナ名およびオブジェクト名はUTF-8エンコードをしてからさらにURLエンコードしたものをヘッダーに設定する必要があります。

Data Type Cardinality
String 1..1

Content-Type

オブジェクトのMIMEタイプ

Data Type Cardinality
String 0..1

Content-Encoding

Content-Encodingメタデータを設定します。

Data Type Cardinality
String 0..1

Content-Disposition

ブラウザの振る舞いを設定します。

設定する値については、http://www.ietf.org/rfc/rfc2183.txtをご参照ください。

Data Type Cardinality
String 0..1

X-Object-Meta-name

オブジェクトメタデータ。{name}はメタデータ項目の名前。

Data Type Cardinality
String 0..1

Request Parameter

{account}

プロジェクト単位でユニークに割り当てられる名前

Data Type Cardinality
String 1..1

{container}

コンテナ名

Data Type Cardinality
String 1..1

{object}

オブジェクト名

Data Type Cardinality
String 1..1

Response Headers

X-Copied-From-Last-Modified

コピー元オブジェクトの最終更新日と時間

Data Type Cardinality
String 0..1

X-Copied-From

コピー元オブジェクトのコンテナ名およびオブジェクト名。{container}/{object}の形式で返却されます。

Data Type Cardinality
String 0..1

Last-Modified

オブジェクトの作成日と時間またはメタデータが変更された日と時間

Data Type Cardinality
String 1..1

ETag

オブジェクトのMD5チェックサム。この値は引用符で囲まれません。

Data Type Cardinality
String 1..1

Content-Type

オブジェクトのMIMEタイプ

Data Type Cardinality
String 1..1

X-Object-Meta-name

オブジェクトメタデータ。{name}はメタデータ項目の名前。

Data Type Cardinality
String 0..

X-Trans-Id

このリクエストに付与されるID。トラブルについて問い合わせる際に利用されます。

Data Type Cardinality
Uuid 1..1

Date

トランザクションの実行された日付と時間

Data Type Cardinality
Datetime 1..1

Response Elements

特にありません

COPYの場合

Example of Request


       curl -i $publicURL/marktwain/goodbye -X COPY -H "X-Auth-Token:$token" -H "Destination: janeausten/goodbye"
     

Example of Response


HTTP/1.1 201 Created
Content-Length: 0
X-Copied-From-Last-Modified: Thu, 16 Jan 2014 21:19:45 GMT
X-Copied-From: marktwain/goodbye
Last-Modified: Fri, 17 Jan 2014 18:22:57 GMT
Etag: 451e372e48e0f6b1114fa0724aa79fa1
Content-Type: text/html; charset=UTF-8
X-Object-Meta-Movie: AmericanPie
X-Trans-Id: txdcb481ad49d24e9a81107-0052d97501
Date: Fri, 17 Jan 2014 18:22:57 GMT
     

(参考) PUTで"X-Copy-From"ヘッダーを使ったコピーの場合

Example of Request


curl -i $publicURL/janeausten/goodbye -X PUT -H "X-Auth-Token: $token" -H "X-Copy-From: /marktwain/goodbye" -H "Content-Length: 0"
     

Example of Response


HTTP/1.1 201 Created
Content-Length: 0
X-Copied-From-Last-Modified: Thu, 16 Jan 2014 21:19:45 GMT
X-Copied-From: marktwain/goodbye
Last-Modified: Fri, 17 Jan 2014 18:22:57 GMT
Etag: 451e372e48e0f6b1114fa0724aa79fa1
Content-Type: text/html; charset=UTF-8
X-Object-Meta-Movie: AmericanPie
X-Trans-Id: txdcb481ad49d24e9a81107-0052d97501
Date: Fri, 17 Jan 2014 18:22:57 GMT