Copy Object

2023-02-19 21:08:41

Copy Object

复制对象(Copy Object)特性用来为棱束链对象存储上已经存在的对象创建一个副本。

当进行复制对象操作时,目标对象默认复制源对象的元数据;用户也可以将目标对象的元数据替换为本次请求中所带的元数据。

复制对象操作的请求需要通过头域携带拷贝的原桶和对象信息,不能携带消息实体。

棱束链与 AWS S3 对象存储不同的是 目标对象大小范围是[0, 10TB],因此棱束链并未提供拷贝段功能拷贝对象

请求语法

PUT /Key+ HTTP/1.1
Host: Bucket.s3-us-east-1.ossfiles.com
Cache-Control: CacheControl
Content-Disposition: ContentDisposition
Content-Encoding: ContentEncoding
Content-Language: ContentLanguage
Content-Type: ContentType
x-amz-copy-source: CopySource
Expires: Expires
x-amz-metadata-directive: MetadataDirective

URI 请求参数

名称 描述 类型
Bucket 存储桶名称 字符串
Key 对象名称 字符串

请求消息头

名称 描述 类型
Content-Disposition 响应头指示回复的内容该以何种形式展示。 字符串
Content-Encoding 编码类型 字符串
Content-Language 用来说明访问者希望采用的语言或语言组合 字符串
Content-Type 实体头部用于指示资源的 MIME 类型 字符串
Cache-Control 通过指定指令来实现缓存机制。 字符串
Expires 响应头包含日期/时间,即在此时候之后,响应过期 字符串
x-amz-copy-soure 用来指定复制对象操作的源桶名以及源对象名。
示例:x-amz-copy-source: /source_bucket/sourceObject
字符串
x-amz-metadata-directive 此参数用来指定新对象的元数据是从源对象中复制,还是用请求中的元数据替换。
有效取值:COPY 或 REPLACE。
字符串
x-amz-* 字符串

请求正文

该请求没有请求正文。


请求元素

该请求没有请求元素。


响应语法

HTTP/1.1 200 OK

<?xml version="1.0" encoding="UTF-8"?>
<CopyObjectResult>
   <ETag>string</ETag>
   <LastModified>timestamp</LastModified>
</CopyObjectResult>

响应元素

名称 描述 类型
CopyObjectResult 复制对象结果的Container。 容器
ETag 新对象的base64编码的128位MD5摘要。ETag是对象内容的唯一标识,可以通过该值识别对象内容是否有变化。比如上传对象时ETag为A,下载对象时ETag为B,则说明对象内容发生了变化。 字符串
LastModified 对象上次修改的时间。 字符串

响应消息头

该请求没有响应消息头。


示例

请求示例

PUT /copy_testcopy HTTP/1.1
Authorization: AWS4-HMAC-SHA256 Credential=2421a691b4ed625de19f6f92677b6459/20230117/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-copy-source;x-amz-date, Signature=f16543c6214fac30b9982119578e5aab5797fb7c92df0eb31f6cc0b903c7c109
Content-length: 0
Host: bucket.s3-us-east-1.ossfiles.com
X-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
x-amz-copy-source: /aatest/copy_test
X-amz-date: 20230117T121925Z

返回示例

HTTP/1.1 200 OK
Content-length: 224
Content-type: application/xml
Date: Tue, 17 Jan 2023 12:19:28 GMT
x-amz-id-2: dc0294d1499447759092c87fd695c9a7
x-amz-request-id: 51485c55d1ea4983a27474577dd5518d

<?xml version="1.0" encoding="UTF-8"?>
<CopyObjectResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
    <LastModified>2023-01-17T12:20:02.891Z</LastModified>
    <ETag>"202cb962ac59075b964b07152d234b70"</ETag>
</CopyObjectResult>