文档简介:
Copy Part
可以将已经存在的Object作为分段上传的片段,拷贝生成一个新的片段。需要指定请求头x-amz-copy-source来定义拷贝源。如果只拷贝源Object中的一部分,需要增加请求头x-amz-copy-source-range。
请求语法
PUT /ObjectName?partNumber=PartNumber&uploadId=UploadId HTTP/1.1 Host: BucketName.oos-cn.ctyunapi.cn x-amz-copy-source: /source_bucket/sourceObject x-amz-copy-source-range:bytes=first-last x-amz-copy-source-if-match: etag x-amz-copy-source-if-none-match: etag x-amz-copy-source-if-unmodified-since: time_stamp x-amz-copy-source-if-modified-since: time_stamp Date: Date Authorization: Signature |
请求头
名称 |
描述 |
是否必须 |
x-amz-copy-source |
指定源bucketname和objectname,用斜杠/分隔。 类型:String 默认值:None |
是 |
x-amz-copy-source-range |
要从源object拷贝的bytes范围。Rage值的格式是bytes=第一个字节-最后一个字节。第一个字节从0开始。例如要拷贝前10个字节,bytes=0-9。只允许对大于5G的源object进行部分拷贝的操作。 如果要拷贝整个object,不需要这个头。 类型:String 默认值:None |
否 |
x-amz-copy-source-if-match |
l 如果对象的实体标签与给定标签匹配,执行拷贝对象的操作; l 如果对象的实体标签与给定标签不匹配,请求返回412HTTP状态码错误。 |
否 |
x-amz-copy-source-if-none-match |
l 如果对象实体标签和指定实体标签不同,执行拷贝操作; l 如果对象实体标签和指定实体标签项同,返回412错误。 |
否 |
x-amz-source-if-unmodified-since |
l 如果对象在指定时间点之后没有修改过,执行拷贝操作; l 如果对象在指定时间点之后修改过,否则返回412错误。 |
否 |
x-amz-copy-source-if-modified-since |
l 如果对象在指定时间点之后被修改过,执行拷贝操作; l 如果对象在指定时间点之后没有被修改过,返回412错误。 |
否 |
返回元素
名称 |
描述 |
CopyPartResult |
包含整个响应的容器。 类型:容器 父节点:无 |
ETag |
新分片的ETag。 类型:String 父节点:CopyPartResult |
LastModified |
分片的最后修改时间。 类型:String 父节点:CopyPartResult |
请求示例
通过从源Object中指定范围,拷贝生成一个新片段。
PUT /newobject?partNumber=2&uploadId=VCVsb2FkIElEIGZvciBlbZZpbm cncyBteS1tb3ZpZS5tMnRzIHVwbG9hZR HTTP/1.1 Host: example-bucket.oos-cn.ctyunapi.cn Date: Mon, 11 Apr 2011 20:34:56 GMT x-amz-copy-source: /source-bucket/sourceobject x-amz-copy-source-range:bytes=500-6291456 Authorization: AWS 7799e793ce4624ee7e5a:xQE0diMbLRepdf3YB+FIEXAMPLE |
返回示例
HTTP/1.1 200 OK x-amz-request-id: 996c76696e6727732072657175657374 Date: Mon, 1 Nov 2010 20:34:56 GMT Server: CTYUN
<CopyPartResult xmlns=”/doc/2006-03-01/”> <LastModified>2009-10-28T22:32:00</LastModified> <ETag>9b2cf535f27731c974343645a3985328</ETag> </CopyPartResult> |