最終更新日:2025-08-25 16:19:37
このAPIは、オブジェクトストレージ上に既に存在するオブジェクトのコピーを作成するために使用します。実行には IAM 権限 wos:PutObject が必要です。
x-wos-copy-source を追加することで、PUTメソッドによりオブジェクトのコピーを宛先バケットへ移動できます。x-wos-copy-source-if-match、x-wos-copy-source-if-none-match、x-wos-copy-source-if-unmodified-since、x-wos-copy-source-if-modified-since などのリクエストヘッダーを設定してください。PUT /destinationObjectName HTTP/1.1
Host: Bucket.Endpoint
x-wos-copy-source: /sourceBucket/sourceObject
x-wos-copy-source-if-match: etag
x-wos-copy-source-if-none-match: etag
x-wos-copy-source-if-unmodified-since: time_stamp
x-wos-meta-*:metainfo
Authorization: Authorization string
Date: date
なし
Common Request Headers に加えて、以下のヘッダーを使用できます。
| ヘッダー | 説明 | 必須 |
|---|---|---|
| x-wos-copy-source | コピー元のバケット名とオブジェクト名を指定します。この値はURLエンコードする必要があります。型: 文字列例: x-wos-copy-source:/src_bucket/src_object | Yes |
| x-wos-copy-source-if-match | x-wos-copy-source-if-match の値がコピー元オブジェクトのetagと一致する場合のみコピー操作が実行されます。それ以外は412(条件付き失敗)が返されます。型: 文字列例: x-wos-copy-source-if-match: etag制約: 他のパラメータとは同時使用できませんが、x-wos-copy-source-if-unmodified/modified-since とは併用可能。 |
No |
| x-wos-copy-source-if-none-match | x-wos-copy-source-if-none-match の値がコピー元オブジェクトのetagと一致しない場合のみコピー操作が実行されます。一致する場合は412(条件付き失敗)が返されます。型: 文字列例: x-wos-copy-source-if-none-match: etag |
No |
| x-wos-copy-source-if-unmodified-since | コピー元オブジェクトが指定した日時以降に変更されていなければコピー操作が実行されます。そうでない場合は412(条件付き失敗)が返されます。他のパラメータとは同時使用できませんが、x-wos-copy-source-if-match とは併用可能。型: HTTP日時文字列(RFC2616形式)例: x-wos-copy-source-if-unmodified-since: timestamp |
No |
| x-wos-copy-source-if-modified-since | コピー元オブジェクトが指定した日時を含む以降に変更されていた場合のみコピー操作が実行されます。そうでない場合は412(条件付き失敗)が返されます。他のパラメータとは同時使用できませんが、x-wos-copy-source-if-none-match とは併用可能。型: HTTP日時文字列(RFC2616形式)例: x-wos-copy-source-if-modified-since: time-stamp |
No |
| x-wos-metadata-directive | コピー先オブジェクトのメタデータを、x-wos-meta-* で指定した内容(REPLACE)で上書きするか、コピー元オブジェクトのメタデータをそのまま引き継ぐか(COPY)指定します。型: 文字列例: x-wos-metadata-directive: COPY |
No |
| x-wos-meta-* | カスタマイズしたメタデータ。headObjectやgetObjectType時のヘッダーとして返されます。型: 文字列例: x-wos-metadata-abc : test | No |
なし
HTTP/1.1 status_code
x-wos-request-id: request id
Content-Type: type
Date: date
Content-Length: length
Server: WS-web-server
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<CopyObjectResult xmlns=" http://wcs.chinanetcenter.com/document">
<LastModified>modifiedDate</LastModified>
<ETag>etagValue</ETag>
</CopyObjectResult>
Common Response Headers をご利用ください。
| 項目名 | 説明 |
|---|---|
| CopyObjectResult | コピーした結果を格納するコンテナ 型: XML |
| LastModified | オブジェクトの最終更新日時型: 文字列 |
| ETag | 新しいオブジェクトのETag値型: 文字列 |
特殊エラー
| 状況 | HTTPステータス | エラーコード | メッセージ |
|---|---|---|---|
| 書式エラー(コピー元指定が無い等) | 400 Bad Request | InvalidArgument | Copy Source must mention the source bucket and key: sourcebucket/sourcekey |
| コピー対象オブジェクトが5GBを超えている | 400 Bad Request | EntityTooLarge | Your proposed copy exceeds the maximum allowed object size. |
| コピー元・コピー先名が完全一致(かつメタデータ変更なし) | 400 Bad Request | InvalidRequest | This copy request is illegal because it is trying to copy an object to itself without changing the object’s metadata attribute. |
PUT /destobject HTTP/1.1
Host: bucket.s3-cn-east-1.wcsapi.com
Date: Sat, 03 Dec 2011 08:48:07 +0000
Authorization: WOS BF6C09F302931425E9A7:2rZR+iaH8xUewvUKuicLhLHpNoU=
x-wos-copy-source: /srcbucket/srcobject
HTTP/1.1 200 OK
x-wos-request-id: 318BC8BC148832E5
Date: Wed, 28 Oct 2009 22:32:00 GMT
Connection: close
Server: WS-Web-Server
<CopyObjectResult>
<LastModified>2009-10-28T22:32:00</LastModified>
<ETag>"9b2cf535f27731c974343645a3985328"</ETag>
</CopyObjectResult>