对象存储

产品文档

对象存储

Put Object-Copy

描述

创建一个已存在的Object的副本,该copy操作等同于先执行GET操作再执行PUT操作。可通过x-amz-copy-source头指定要复制的源Bucket及源Object。在OSS中可以操作的最大的单个Object为5G,超过5G,请使用分片上传Upload Part-Copy操作。要执行此操作,您需要有源Bucket的READ权限及目标Bucket的WRITE权限。

当OSS收到Put Object-Copy请求或OSS正在执行Copy时,该请求可能返回错误。如果在Copy执行之前发生错误,则会收到标准的OSS错误;如果在执行Copy的过程中发生错误,则Copy的错误会嵌入200 OK的响应中,所以200 OK响应的Copy结果可能是成功或失败。

请求

语法

PUT /destinationObject HTTP/1.1
Host: <destinationBucket>.s3.<region>.jdcloud-oss.com 
x-amz-copy-source: /source_bucket/sourceObject
Authorization: <authorization string> (see Authenticating Requests (AWS Signature Version4))
Date: <date>

请求参数

无请求参数

请求Header

除公共请求Header,还可使用以下Header

名称 描述 必须
x-amz-copy-source 源Bucket和源Object名称,通过"/"分隔。
Type: String
Default: None
字符串必须使用URL编码
x-amz-storage-class 如果没有指定该header,存储类型默认为Standard标准存储。
Type: Enum
Default: STANDARD
Valid Values: STANDARD、GLACIER、REDUCED_REDUNDANCY、STANDARD_IA
x-amz-tagging-directive 如果该header值指定为COPY,则原文件的标签将复制到目标文件。这时PutObjectCopy指定的Tags将会被忽略。
如果指定为REPLACE,目标文件的Tags取决于PutObjectCopy请求指定的Tags。
Type: String
Default: COPY
Valid values: COPY、REPLACE
x-amz-metadata-directive 如果该header值指定为COPY,则原文件除x-amz-storage-class外的metadata将复制到目标文件。这时PutObjectCopy指定的自定义metadata将会被忽略。
如果指定为REPLACE,目标文件的metadata取决于PutObjectCopy请求指定的metadata。
Type: String
Default: COPY
Valid values: COPY、REPLACE
x-amz-tagging 设置对象标签。如"Key1=Value1"
Type: String
Default: None
Constraints:标签键和标签值需分别做urlencode。该标签头大小不能超过2K。标签个数不能超过10个。
x-amz-meta-* 以x-amz-meta- 前缀开头的Header为用户自定义Header。自定义Header的大小(包括key、value)UTF-8编码下不能超过2K。

请求元素

无请求元素

响应

响应Header

除公共响应Header外,该操作还可使用以下Header

名称 描述
x-amz-storage-class 提供Object的存储类型信息。非标准存储情况下,OSS将会返回该Header

响应元素

名称 描述
CopyObjectResult 响应元素信息集合。
Type: Container
Ancestor: None
ETag 返回新Object的ETag。
Type: String
Ancestor: CopyObjectResult
LastModified 返回Object的最后修改时间。
Type: String
Ancestor: CopyObjectResult

示例

请求示例

PUT /my-second-image.jpg HTTP/1.1
Host: oss-example.s3.<region>.jdcloud-oss.com
Date: Wed, 28 Oct 2009 22:32:00 GMT
x-amz-copy-source: /bucket/my-image.jpg
Authorization: <authorization string>

响应示例

HTTP/1.1 200 OK
x-amz-request-id: 318BC8BC148832E5
Date: Wed, 28 Oct 2009 22:32:00 GMT
Connection: close
Server: JDCloudOSS

<CopyObjectResult>
   <LastModified>2009-10-28T22:32:00</LastModified>
   <ETag>"9b2cf535f27731c974343645a3985328"</ETag>
</CopyObjectResult>
更新时间:2020-12-16 12:09:54