KDDIクラウドプラットフォームサービス ナレッジサイト

  • 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
x-amz-storage-class 利用不可 No
x-amz-website_-redirect-location 利用不可 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
x-amz-expiration 利用不可
x-amz-copy-source-version-id 利用不可
x-amz-version-id 利用不可

レスポンスボディ

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>
2022/07/06 2022/07/06