- HOME
- 開発者ガイドブック(APIリファレンス)
- オブジェクトストレージ
- サービス操作
- オブジェクト操作
- PUT Object - Copy
PUT Object – Copy
処理概要
すでにBucketに保存済のobjectを別のBucketにコピー、或いは同じBucketに別名をつけてobject名コピーします。PUTのコピー操作は、GET Object後にPUT Objectすることと同じ効果があります。x-amz-copy-sourceヘッダを追加して、source objectをdestination bucketへコピーします。
リクエスト
リクエストパラメタ
なし
リクエストヘッダー
このオペレーションはすべての操作に共通するリクエストヘッダに加えて下記のリクエストヘッダを利用できます。詳細については、一般的なリクエストヘッダを参照してください。リクエストヘッダーは8KBに制限されます。
Name | Type | Description | Required |
---|---|---|---|
x-amz-copy-source | string | スラッシュ(’/’)で区切られたコピー元Bucket名とコピー元object名。 | Yes |
x-amz-metadata-directive | string | コピー済オブジェクトのメタデータをどう扱うか決めます。コピー元からコピーするか、リクエストで指定したもので置き換えるか。 | No |
x-amz-copy-source-if-match | string | コピー元objectのETagとヘッダー指定ETagが一致した場合にコピーを実行します。そうでない場合、HTTP status code 412 precondition failed errorを返します。 | No |
x-amz-copy-source-if-none-match | string | コピー元objectのETagとヘッダー指定ETagが不一致の場合にコピーに実行します。そうでない場合、HTTP status code 412 precondition failed errorを返します。 | No |
x-amz-copy-source-if-unmodified-since | string | コピー元objectの更新日時がヘッダー指定更新日時以降に更新されていない場合にコピーを実行します。そうでない場合、HTTP status code 412 precondition failed errorを返します。 | No |
x-amz-copy-source-if-modified-since | string | コピー元objectの更新日時がヘッダー指定更新日時以降に更新されている場合にコピーを実行します。そうでない場合、HTTP status code 412 precondition failed errorを返します。 | No |
– | 利用不可 | No | |
– | 利用不可 | No | |
x-amz-acl | string | HeaderによるACL設定時に指定。private / public-readなど。 ※public-read-write / authenticated-read / bucket-owner-read / bucket-owner-full-controlは非対応 |
No |
x-amz-grant-read | string | HeaderによるACL設定時に指定。 ・id=<UUID> ・emailAddres=<username> (API仕様上メールアドレスではなくUsernameで指定) ・uri=< Amazon’s pre-defined groups.> |
|
x-amz-grant-read-acp | string | ||
x-amz-grant-write-acp | string | ||
x-amz-grant-full-control | string |
リクエストボディ
なし
リクエストサンプル
PUT /sample-bucket2/sample-object.txt HTTP/1.1 Host: 192.168.0.1 Content-Length: 0 Connection: keep-alive x-amz-copy-source: /sample-bucket/sample-object.txt Date: Tue, 01 Sep 2015 10:00:00 +0000 Authorization: AWS EXAMPLEjU2So5By3H5v2:EXAMPLEAjwlAvEi2cPLfQaM588ROWW90so7LwfPr
レスポンス
レスポンスヘッダ
このオペレーションはすべての操作に共通するリクエストヘッダに加えて下記のパラメータを使用しています。詳細については、一般的なリクエストヘッダを参照してください。
Name | Type | Description |
---|---|---|
– | 利用不可 | |
– | 利用不可 | |
– | 利用不可 |
レスポンスボディ
Name | Type | Description |
---|---|---|
CopyObjectResult | container | レスポンスのコンテナ |
ETag | string | ETagはobjectのMD5ハッシュで、If-Modifiedリクエストタグを付けた条件付きGETで利用できます。ETagに反映されるのはobjectで、メタデータではありません。コピー元とコピー先のETagは正常にコピーされているので同値になります。 |
LastModified | string | objectの最終更新日時 |
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <CopyObjectResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <ETag>string</ETag> <LastModified>date</LastModified> </CopyObjectResult>
レスポンスサンプル
HTTP/1.1 200 OK Date: Tue, 01 Sep 2015 10:00:00 GMT X-Clv-Request-Id: 01234567-89ab-cdef-0123-456789abcdef Server: Cleversafe/3.5.1.0 X-Clv-S3-Version: 2.4 x-amz-request-id: 01234567-89ab-cdef-0123-456789abcdef ETag: "abcdef0123456789abcdef0123456789" Content-Type: application/xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <CopyObjectResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/"> <LastModified>2015-09-01T10:00:00.000Z</LastModified> <ETag>"abcdef0123456789abcdef0123456789"</ETag> </CopyObjectResult>