更新时间: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
无
除 公共请求头 外,还可以使用以下请求头:
| 头部字段 | 描述 | 是否必填 |
|---|---|---|
| x-wos-copy-source | 指定源存储空间(bucket)和源对象名。该头部必须进行URL编码。 类型:String 示例:x-wos-copy-source:/src_bucket/src_object |
是 |
| x-wos-copy-source-if-match | 仅当x-wos-copy-source-if-match的值与源对象的etag匹配时才执行复制操作,否则返回412(precondition failed)。类型:String 示例:x-wos-copy-source-if-match: etag 约束:不可与其他参数同时使用,除非与 x-wos-copy-source-if-unmodified/modified-since配合。 |
否 |
| x-wos-copy-source-if-none-match | 仅当x-wos-copy-source-if-none-match的值与源对象etag不符时才执行复制操作,否则返回412(precondition failed)。类型:String 示例:x-wos-copy-source-if-none-match: etag |
否 |
| x-wos-copy-source-if-unmodified-since | 仅当源对象在此参数指定时间之后未被修改,才执行复制操作,否则返回412(precondition failed)。 类型:HTTP时间字符串格式 示例:x-wos-copy-source-if-unmodified-since: timestamp 该参数仅可与 x-wos-copy-source-if-match一同使用。 |
否 |
| x-wos-copy-source-if-modified-since | 仅当源对象在此参数指定时间段内被修改,才执行复制操作,否则返回412(前置条件失败)。 类型:HTTP时间字符串格式 示例:x-wos-copy-source-if-modified-since: time-stamp 该参数仅可与 x-wos-copy-source-if-none-match一同使用。 |
否 |
| x-wos-metadata-directive | 使用x-wos-meta-*中的元数据(REPLACE)替换目标对象元数据,或不替换仅复制源对象的元数据(COPY)。类型:String 示例:x-wos-metadata-directive: COPY |
否 |
| x-wos-meta-* | 自定义元数据,将在headObject和getObjectType的header中返回。类型:String 示例:x-wos-meta-abc: test |
否 |
无
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>
请使用 公共响应头 。
| 名称 | 描述 |
|---|---|
| CopyObjectResult | 复制操作返回的Container。类型: XML |
| LastModified | 对象最后修改时间。类型:String |
| ETag | 新对象的ETag值。类型:String |
特殊错误信息
| 情况 | HTTP 状态 | 错误码 | 错误信息 |
|---|---|---|---|
| 格式错误,如缺少拷贝对象 | 400 Bad Request | InvalidArgument | Copy Source must mention the source bucket and key: sourcebucket/sourcekey |
| 拷贝对象大于 5 GB | 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>