tencent cloud

PUT Object - Copy
Last updated: 2024-09-26 16:50:11
PUT Object - Copy
Last updated: 2024-09-26 16:50:11

Feature Overview

This API is used to create a copy of an object that already exists in COS, i.e., copying an object from the source path (object key) to the destination path (object key). The recommended object size is from 1 MB to 5 GB. For objects over 5 GB, refer to Upload Part - Copy.
You can specify how metadata is processed during the copy process. By default, the metadata will be copied to the destination object. You can also choose not to copy the metadata of the source object and specify new metadata in the API request. However, unless the storage class, access control list (ACL), and server-side encryption (SSE) are explicitly specified in the request, the storage class of the destination object will be STANDARD, the ACL of the destination bucket will be inherited, and SSE will not be used by default, regardless of the processing method.
You can use this API to move, rename, and copy object metadata and create copies.
To call this API, you need to have permission to read the object you want to copy, or the object must be set to public-read (i.e., everyone has read permission for the object). Besides, you must have write permission for the destination bucket.
Note:
An error may be returned when COS receives the copy request or is copying the object. If an error occurs before the copy begins, a standard error response will be returned. If an error occurs during the copy, HTTP 200 OK will be returned with the error as the response body, meaning that the HTTP 200 OK response can include both success and error information. When using this API, pay attention to the content of the response body to determine whether the copy request was successful and process the result accordingly.
The MAZ_STANDARD storage class only supports replication into the exact same class rather than STANDARD, STANDARD_IA, or ARCHIVE storage classes.
The MAZ_STANDARD_IA storage class only supports replication into the exact same class rather than STANDARD, STANDARD_IA, or ARCHIVE storage classes.
Calling PUT Object - Copy is equivalent to requesting GET Object once in the source bucket and requesting PUT Object once in the destination bucket. Please note that this operation will incur charges for items such as read and write requests, storage usage, cross-region replication traffic, and data processing and moderation generated by workflows.


Versioning

If versioning is enabled for the bucket where the source object resides, the latest version of the source object is copied by default. You can specify the versionId parameter in the x-cos-copy-source request header to copy a specified version.
If versioning is enabled for the destination bucket, COS will automatically generate a unique version ID for the destination object.

Request

Request example

PUT /<ObjectKey> HTTP/1.1
Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
Date: GMT Date
x-cos-copy-source: <SourceBucketName-SourceAPPID>.cos.<SourceRegion>.myqcloud.com/<SourceObjectKey>
Content-Length: 0
Authorization: Auth String
Note:
Host:<BucketName-APPID>.cos.<Region>.myqcloud.com, where <BucketName-APPID> is the is the bucket name followed by the APPID, such as examplebucket-1250000000 (see Bucket Overview > Basic Information and Bucket Overview > Bucket Naming Conventions), and <Region> is a COS region (see Regions and Access Endpoints).
Authorization: Auth String (See Request Signature for details.)

Request fields

This API has no request parameter.

Request headers

In addition to common request headers, this API also supports the following request headers. For more information on the common request header, see Common Request Headers.
Header
Description
Type
Required
x-cos-copy-source
URL of the source object, where the object key needs to pass through URLEncode. The version of the source object can be specified by the versionId parameter, such as sourcebucket-1250000001.cos.ap-shanghai.myqcloud.com/example-%E8%85%BE%E8%AE%AF%E4%BA%91.jpg, or sourcebucket-1250000001.cos.ap-shanghai.myqcloud.com/example-%E8%85%BE%E8%AE%AF%E4%BA%91.jpg?versionId=MTg0NDUxNzYzMDc0NDMzNDExOTc
string
Yes
x-cos-metadata-directive
Specifies whether to copy the metadata information of the source object. Enumerated values: Copy (default), Replaced.
If this parameter is set to Copy, the metadata information of the source object will be copied.
If this parameter is set to Replaced, the metadata information in the request header will be used as the metadata information of the destination object.
If the destination and source objects are the same and you want to modify the metadata, this parameter must be set to Replaced.
Enum
No
x-cos-copy-source-If-Modified-Since
If the object is modified after the specified time, the copy operation will be executed; otherwise, an HTTP 412 status code (Precondition Failed) is returned.
string
No
x-cos-copy-source-If-Unmodified-Since
If the object is not modified after the specified time, the copy operation will be executed; otherwise, an HTTP 412 status code (Precondition Failed) is returned.
string
No
x-cos-copy-source-If-Match
If the ETag of the object is the same as the specified value, the copy operation will be executed; otherwise, an HTTP 412 status code (Precondition Failed) is returned.
string
No
x-cos-copy-source-If-None-Match
If the ETag of the object is not the same as the specified value, the copy operation will be executed; otherwise, an HTTP 412 status code (Precondition Failed) is returned.
string
No
x-cos-storage-class
Storage class of the destination object. For the enumerated values, such as INTELLIGENT_TIERING, MAZ_INTELLIGENT_TIERING, STANDARD_IA, ARCHIVE, and DEEP_ARCHIVE, see Storage Class Overview. Default value: STANDARD.
Enum
No
x-cos-tagging
A set of up to 10 object tags (for example, Key1=Value1&Key2=Value2). Tag key and tag value in the set must be URL-encoded.
string
No
x-cos-tagging-directive
Specifies whether to copy the tags of the source object. Enumerated values: Copy (default), Replaced.
If this parameter is set to Copy, tags of the source object will be copied.
If this parameter is set to Replaced, tags specified in the request header will be used for the destination object.
When the source and destination object is the same, that is, you want to modify the object tag, this parameter must be set to Replaced.
Enum
No
x-cos-forbid-overwrite
For a bucket which has never enabled versioning, you may use it to specify whether to prohibit overwriting the object with the same name when uploading the object:
When the x-cos-forbid-overwrite header is not specified or specified as false, the object with the same name will be overwritten by default;
When the x-cos-forbid-overwrite is specified as true, overwriting the object with the same name will be prohibited.
Note:
For a bucket which has enabled versioning or suspended versioning, the x-cos-forbid-overwrite request header is invalid, which means overwriting objects with the same name is allowed whether the x-cos-forbid-overwrite request header is specified as true or false.
string
Not required
Headers related to destination object metadata
When copying an object, you can configure the metadata information of the destination object by specifying the following request headers. In this case, the request header x-cos-metadata-directive must be set to Replaced. Otherwise, the destination object cannot use the metadata information of the source object and the following headers cannot be specified.
Header
Description
Type
Required
Cache-Control
Cache directives as defined in RFC 2616. It will be stored as the object metadata.
string
No
Content-Disposition
Filename as defined in RFC 2616. It will be stored as the object metadata.
string
No
Content-Encoding
Encoding format as defined in RFC 2616. It will be stored as the object metadata.
string
No
Content-Type
HTTP request content type (MIME) as defined in RFC 2616. This header describes the content type of the destination object and will be stored as the object metadata.
Example: text/html, image/jpeg
string
Yes
Expires
The cache expiration time as defined in RFC 2616. It will be stored as the object metadata.
string
No
x-cos-meta-*
Contains the header and value of user-defined metadata. It will be stored as the metadata of the destination object. The maximum size is 2 KB.
Example: For x-cos-meta-via: homepage, the header is x-cos-meta-via, the suffix is via, and the value is homepage.
Note: The user-defined metadata value can contain underscores (_), whereas the headers support only hyphens (-) but not underscores.
string
No
ACL-related headers
When copying an object, you can configure the access permissions of the destination object by specifying the following request headers:
Header
Description
Type
Required
x-cos-acl
Defines the ACL attribute of the destination object. For the enumerated values, such as default (default), private, and public-read, see the Preset ACL section in ACL Overview.
Note: If you do not need to set an ACL for the object, set this parameter to default or leave it empty. In this way, the object will inherit the permissions of the bucket it is stored in.
Enum
No
x-cos-grant-read
Grants a user permission to read the destination object in the format: id="[OwnerUin]" (e.g., id="100000000001"). You can use a comma (,) to separate multiple users, for example, id="100000000001",id="100000000002".
string
No
x-cos-grant-read-acp
Grants a user permission to read the ACL of the destination object in the format: id="[OwnerUin]" (e.g., id="100000000001"). You can use a comma (,) to separate multiple users, for example, id="100000000001",id="100000000002".
string
No
x-cos-grant-write-acp
Grants a user permission to write to the ACL of the destination object in the format: id="[OwnerUin]" (e.g., id="100000000001"). You can use a comma (,) to separate multiple users, for example, id="100000000001",id="100000000002".
string
No
x-cos-grant-full-control
Grants a user full permission to operate on the destination object in the format: id="[OwnerUin]" (e.g., id="100000000001"). You can use a comma (,) to separate multiple users, for example, id="100000000001",id="100000000002".
string
No
Headers related to SSE of the source object
If the source object uses the server-side encryption method, SSE-C, you need to specify the following request headers to decrypt the source object:
Header
Description
Type
Required
x-cos-server-side-encryption-customer-algorithm
Server-side encryption algorithm. Currently, only AES256 is supported.
string
Required if the source object uses SSE-C.
x-cos-server-side-encryption-customer-key
Base64-encoded server-side encryption key, such as MDEyMzQ1Njc4OUFCQ0RFRjAxMjM0NTY3ODlBQkNERUY=
string
Required if the source object uses SSE-C.
x-cos-server-side-encryption-customer-key-MD5
Base64-encoded MD5 hash of the server-side encryption key, such as U5L61r7jcwdNvT7frmUG8g==
string
Required if the source object uses SSE-C.
Headers related to SSE of the destination object
Server-side encryption can be used during object copying. For more information, see Server side encryption headers.

Request body

This API does not have a request body.

Response

Response headers

In addition to common response headers, this API also returns the following response headers. For more information on common response headers, see Common Response Headers.
Versioning-Related Headers
When the version ID of the source object is specified, the following response headers are returned:
Header
Description
Type
x-cos-copy-source-version-id
Version ID of the source object
string
SSE-related headers
If server-side encryption is used during object copying, this API will return headers used specifically for server-side encryption. For more information. see Server side encryption headers.

Response body

A successful query returns the application/xml data, which includes information about the object copying results.
<?xml version="1.0" encoding="UTF-8"?>
<CopyObjectResult>
<ETag>string</ETag>
<CRC64>number</CRC64>
<LastModified>date</LastModified>
<VersionId>string</VersionId>
</CopyObjectResult>
The nodes are described as follows:
Node Name (Keyword)
Parent Node
Description
Type
CopyObjectResult
None
Stores the result of PUT Object - Copy.
Container
Content of CopyObjectResult:
Node Name (Keyword)
Parent Node
Description
Type
ETag
CopyObjectResult
Entity tag of the object. It indicates the content of the object when it is created and can be used to verify whether the object content is changed.
Example: 8e0b617ca298a564c3331da28dcb50df
The value of ETag is not necessarily the MD5 checksum of the object. The value will be different if the uploaded object is encrypted.
string
CRC64
CopyObjectResult
CRC64 checksum of the object. For more information, please see CRC64 Check.
number
LastModified
CopyObjectResult
Last modified time of the object, in ISO 8601 format, such as 2019-05-24T10:56:40Z
date
VersionId
CopyObjectResult
Version ID of the object. This node is returned only if versioning is enabled for the destination bucket.
string

Error codes

This API returns uniform error responses and error codes. For more information, see Error Codes.

Examples

This API uses Transfer-Encoding: chunked in the response by default. For readability, samples in this document are displayed without Transfer-Encoding. During use, different languages and libraries can automatically process this encoding form. For more information, see the language- and library-related documents.

Example 1: simple use case

Request

PUT /exampleobject HTTP/1.1
Host: destinationbucket-1250000000.cos.ap-beijing.myqcloud.com
Date: Fri, 10 Apr 2020 18:20:30 GMT
x-cos-copy-source: sourcebucket-1250000001.cos.ap-shanghai.myqcloud.com/example-%E8%85%BE%E8%AE%AF%E4%BA%91.jpg
Content-Length: 0
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1586542830;1586550030&q-key-time=1586542830;1586550030&q-header-list=content-length;date;host;x-cos-copy-source&q-url-param-list=&q-signature=f91b02809317616d993e14625996e416e08e****
Connection: close

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 219
Connection: close
Date: Fri, 10 Apr 2020 18:20:30 GMT
Server: tencent-cos
x-cos-request-id: NWU5MGI4ZWVfNzljMDBiMDlfMWM3MjlfMWQ1****



<?xml version="1.0" encoding="UTF-8"?>
<CopyObjectResult>
<ETag>"ee8de918d05640145b18f70f4c3aa602"</ETag>
<CRC64>16749565679157681890</CRC64>
<LastModified>2020-04-10T18:20:30Z</LastModified>
</CopyObjectResult>

Sample 2: replacing metadata during copying

Request

PUT /exampleobject HTTP/1.1
Host: destinationbucket-1250000000.cos.ap-beijing.myqcloud.com
Date: Fri, 10 Apr 2020 18:20:41 GMT
x-cos-metadata-directive: Replaced
Content-Type: application/octet-stream
Content-Disposition: attachment; filename=example.jpg
x-cos-copy-source: sourcebucket-1250000001.cos.ap-shanghai.myqcloud.com/example-%E8%85%BE%E8%AE%AF%E4%BA%91.jpg
Content-Length: 0
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1586542841;1586550041&q-key-time=1586542841;1586550041&q-header-list=content-disposition;content-length;content-type;date;host;x-cos-copy-source;x-cos-metadata-directive&q-url-param-list=&q-signature=aa2522c12b0ac82e29a812fca4334705cc96****
Connection: close

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 219
Connection: close
Date: Fri, 10 Apr 2020 18:20:41 GMT
Server: tencent-cos
x-cos-request-id: NWU5MGI4ZjlfYTZjMDBiMDlfN2Y1YV8xYjI4****



<?xml version="1.0" encoding="UTF-8"?>
<CopyObjectResult>
<ETag>"ee8de918d05640145b18f70f4c3aa602"</ETag>
<CRC64>16749565679157681890</CRC64>
<LastModified>2020-04-10T18:20:41Z</LastModified>
</CopyObjectResult>

Sample 3: modifying object metadata

Request

PUT /exampleobject HTTP/1.1
Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.com
Date: Fri, 10 Apr 2020 18:20:52 GMT
x-cos-metadata-directive: Replaced
Cache-Control: max-age=86400
Content-Type: image/jpeg
x-cos-copy-source: examplebucket-1250000000.cos.ap-beijing.myqcloud.com/exampleobject
Content-Length: 0
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1586542852;1586550052&q-key-time=1586542852;1586550052&q-header-list=cache-control;content-length;content-type;date;host;x-cos-copy-source;x-cos-metadata-directive&q-url-param-list=&q-signature=1bcab704e474e46359d97c8c1fbb93642069****
Connection: close

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 219
Connection: close
Date: Fri, 10 Apr 2020 18:20:52 GMT
Server: tencent-cos
x-cos-request-id: NWU5MGI5MDRfNmRjMDJhMDlfZGNmYl8yMDVh****



<?xml version="1.0" encoding="UTF-8"?>
<CopyObjectResult>
<ETag>"ee8de918d05640145b18f70f4c3aa602"</ETag>
<CRC64>16749565679157681890</CRC64>
<LastModified>2020-04-10T18:20:52Z</LastModified>
</CopyObjectResult>

Sample 4: modifying the storage class of an object

This sample shows how to change the storage class of an object from STANDARD to ARCHIVE. This method is also suitable for switching between STANDARD and STANDARD_IA. If you want to change the storage class of an object stored in ARCHIVE/DEEP ARCHIVE to other storage classes, you need to call POST Object restore to restore the object before calling this API.

Request

PUT /exampleobject HTTP/1.1
Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.com
Date: Fri, 10 Apr 2020 18:21:02 GMT
x-cos-metadata-directive: Replaced
x-cos-storage-class: ARCHIVE
x-cos-copy-source: examplebucket-1250000000.cos.ap-beijing.myqcloud.com/exampleobject
Content-Length: 0
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1586542862;1586550062&q-key-time=1586542862;1586550062&q-header-list=content-length;date;host;x-cos-copy-source;x-cos-metadata-directive;x-cos-storage-class&q-url-param-list=&q-signature=8726a359b342cb1cace6945812ee8379c3ad****
Connection: close

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 219
Connection: close
Date: Fri, 10 Apr 2020 18:21:02 GMT
Server: tencent-cos
x-cos-request-id: NWU5MGI5MGVfN2RiNDBiMDlfMTk1MjhfMWZm****



<?xml version="1.0" encoding="UTF-8"?>
<CopyObjectResult>
<ETag>"ee8de918d05640145b18f70f4c3aa602"</ETag>
<CRC64>16749565679157681890</CRC64>
<LastModified>2020-04-10T18:21:55Z</LastModified>
</CopyObjectResult>

Sample 5: copying an unencrypted object to a destination object encrypted with SSE-COS

Request

PUT /exampleobject HTTP/1.1
Host: destinationbucket-1250000000.cos.ap-beijing.myqcloud.com
Date: Fri, 10 Apr 2020 18:21:12 GMT
x-cos-server-side-encryption: AES256
x-cos-copy-source: sourcebucket-1250000001.cos.ap-shanghai.myqcloud.com/example-%E8%85%BE%E8%AE%AF%E4%BA%91.jpg
Content-Length: 0
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1586542872;1586550072&q-key-time=1586542872;1586550072&q-header-list=content-length;date;host;x-cos-copy-source;x-cos-server-side-encryption&q-url-param-list=&q-signature=ee94ef60dfb512882b368be12c6d47526433****
Connection: close

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 219
Connection: close
Date: Fri, 10 Apr 2020 18:21:13 GMT
Server: tencent-cos
x-cos-request-id: NWU5MGI5MTlfYmIwMmEwOV9hMmUxXzFkMDQ2****
x-cos-server-side-encryption: AES256



<?xml version="1.0" encoding="UTF-8"?>
<CopyObjectResult>
<ETag>"ee8de918d05640145b18f70f4c3aa602"</ETag>
<CRC64>16749565679157681890</CRC64>
<LastModified>2020-04-10T18:21:13Z</LastModified>
</CopyObjectResult>

Sample 6: copying an unencrypted object to a destination object encrypted with SSE-KMS

Request

PUT /exampleobject HTTP/1.1
Host: destinationbucket-1250000000.cos.ap-beijing.myqcloud.com
Date: Fri, 10 Apr 2020 18:21:23 GMT
x-cos-server-side-encryption: cos/kms
x-cos-server-side-encryption-cos-kms-key-id: 48ba38aa-26c5-11ea-855c-52540085****
x-cos-server-side-encryption-context: eyJhdXRob3IiOiJmeXNudGlhbiIsImNvbXBhbnkiOiJUZW5jZW50In0=
x-cos-copy-source: sourcebucket-1250000001.cos.ap-shanghai.myqcloud.com/example-%E8%85%BE%E8%AE%AF%E4%BA%91.jpg
Content-Length: 0
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1586542883;1586550083&q-key-time=1586542883;1586550083&q-header-list=content-length;date;host;x-cos-copy-source;x-cos-server-side-encryption;x-cos-server-side-encryption-context;x-cos-server-side-encryption-cos-kms-key-id&q-url-param-list=&q-signature=28055a7cf07d7dde858fd924d6c0963b0c68****
Connection: close

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 219
Connection: close
Date: Fri, 10 Apr 2020 18:21:23 GMT
Server: tencent-cos
x-cos-request-id: NWU5MGI5MjNfMTliOTJhMDlfMjRiYThfMTdk****
x-cos-server-side-encryption: cos/kms
x-cos-server-side-encryption-cos-kms-key-id: 48ba38aa-26c5-11ea-855c-52540085****



<?xml version="1.0" encoding="UTF-8"?>
<CopyObjectResult>
<ETag>"f69901ec9755a5defc29057e9ec69126"</ETag>
<CRC64>16749565679157681890</CRC64>
<LastModified>2020-04-10T18:22:16Z</LastModified>
</CopyObjectResult>

Sample 7: copying an object encrypted with SSE-C and replacing the key

Request

PUT /exampleobject HTTP/1.1
Host: destinationbucket-1250000000.cos.ap-beijing.myqcloud.com
Date: Fri, 10 Apr 2020 18:21:44 GMT
x-cos-copy-source-server-side-encryption-customer-algorithm: AES256
x-cos-copy-source-server-side-encryption-customer-key: MDEyMzQ1Njc4OUFCQ0RFRjAxMjM0NTY3ODlBQkNERUY=
x-cos-copy-source-server-side-encryption-customer-key-MD5: U5L61r7jcwdNvT7frmUG8g==
x-cos-server-side-encryption-customer-algorithm: AES256
x-cos-server-side-encryption-customer-key: MDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3ODlhYmNkZWY=
x-cos-server-side-encryption-customer-key-MD5: hRasmdxgYDKV3nvbahU1MA==
x-cos-copy-source: sourcebucket-1250000001.cos.ap-shanghai.myqcloud.com/example-%E8%85%BE%E8%AE%AF%E4%BA%91.jpg
Content-Length: 0
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1586542904;1586550104&q-key-time=1586542904;1586550104&q-header-list=content-length;date;host;x-cos-copy-source;x-cos-copy-source-server-side-encryption-customer-algorithm;x-cos-copy-source-server-side-encryption-customer-key;x-cos-copy-source-server-side-encryption-customer-key-md5;x-cos-server-side-encryption-customer-algorithm;x-cos-server-side-encryption-customer-key;x-cos-server-side-encryption-customer-key-md5&q-url-param-list=&q-signature=dece274320f748bb0c736b13e5409cd1c35f****
Connection: close

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 219
Connection: close
Date: Fri, 10 Apr 2020 18:21:44 GMT
Server: tencent-cos
x-cos-request-id: NWU5MGI5MzhfZmFjODJhMDlfMTdlYzZfYmU1****
x-cos-server-side-encryption-customer-algorithm: AES256
x-cos-server-side-encryption-customer-key-MD5: hRasmdxgYDKV3nvbahU1MA==



<?xml version="1.0" encoding="UTF-8"?>
<CopyObjectResult>
<ETag>"bf314b89d34119395d5610982d6581b1"</ETag>
<CRC64>16749565679157681890</CRC64>
<LastModified>2020-04-10T18:22:31Z</LastModified>
</CopyObjectResult>

Sample 8: modifying an object encrypted with SSE-C to non-encrypted

Request

PUT /exampleobject HTTP/1.1
Host: examplebucket-1250000000.cos.ap-beijing.myqcloud.com
Date: Fri, 10 Apr 2020 18:22:05 GMT
x-cos-metadata-directive: Replaced
x-cos-copy-source-server-side-encryption-customer-algorithm: AES256
x-cos-copy-source-server-side-encryption-customer-key: MDEyMzQ1Njc4OUFCQ0RFRjAxMjM0NTY3ODlBQkNERUY=
x-cos-copy-source-server-side-encryption-customer-key-MD5: U5L61r7jcwdNvT7frmUG8g==
x-cos-copy-source: examplebucket-1250000000.cos.ap-beijing.myqcloud.com/exampleobject
Content-Length: 0
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1586542925;1586550125&q-key-time=1586542925;1586550125&q-header-list=content-length;date;host;x-cos-copy-source;x-cos-copy-source-server-side-encryption-customer-algorithm;x-cos-copy-source-server-side-encryption-customer-key;x-cos-copy-source-server-side-encryption-customer-key-md5;x-cos-metadata-directive&q-url-param-list=&q-signature=b57bc8f6d666e9d722d30ad7d3ab442d9c43****
Connection: close

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 219
Connection: close
Date: Fri, 10 Apr 2020 18:22:05 GMT
Server: tencent-cos
x-cos-request-id: NWU5MGI5NGRfOWFjOTJhMDlfMjg2NDdfMTA0****



<?xml version="1.0" encoding="UTF-8"?>
<CopyObjectResult>
<ETag>"ee8de918d05640145b18f70f4c3aa602"</ETag>
<CRC64>16749565679157681890</CRC64>
<LastModified>2020-04-10T18:22:58Z</LastModified>
</CopyObjectResult>

Sample 9: specifying the version of the source object

Request

PUT /exampleobject HTTP/1.1
Host: destinationbucket-1250000000.cos.ap-beijing.myqcloud.com
Date: Sat, 11 Apr 2020 17:51:35 GMT
x-cos-copy-source: sourcebucket-1250000001.cos.ap-shanghai.myqcloud.com/example.jpg?versionId=MTg0NDUxNTc0NDYyMjQ2MzUzMjQ
Content-Length: 0
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1586627495;1586634695&q-key-time=1586627495;1586634695&q-header-list=content-length;date;host;x-cos-copy-source&q-url-param-list=&q-signature=da80bd079b2c1fdb0dd961dea8568ee8d998****
Connection: close

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 219
Connection: close
Date: Sat, 11 Apr 2020 17:51:35 GMT
Server: tencent-cos
x-cos-copy-source-version-id: MTg0NDUxNTc0NDYyMjQ2MzUzMjQ
x-cos-request-id: NWU5MjAzYTdfMWZjMDJhMDlfNTE4N18zNGU2****



<?xml version="1.0" encoding="UTF-8"?>
<CopyObjectResult>
<ETag>"ee8de918d05640145b18f70f4c3aa602"</ETag>
<CRC64>16749565679157681890</CRC64>
<LastModified>2020-04-11T17:51:35Z</LastModified>
</CopyObjectResult>

Sample 10: copying an object to a versioning-enabled bucket

Request

PUT /exampleobject HTTP/1.1
Host: destinationbucket-1250000000.cos.ap-beijing.myqcloud.com
Date: Sat, 11 Apr 2020 17:51:56 GMT
x-cos-copy-source: sourcebucket-1250000001.cos.ap-shanghai.myqcloud.com/example.jpg
Content-Length: 0
Authorization: q-sign-algorithm=sha1&q-ak=AKID8A0fBVtYFrNm02oY1g1JQQF0c3JO****&q-sign-time=1586627516;1586634716&q-key-time=1586627516;1586634716&q-header-list=content-length;date;host;x-cos-copy-source&q-url-param-list=&q-signature=2c79d63b6078ace6fc9430fb6533b9a9ade1****
Connection: close

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 272
Connection: close
Date: Sat, 11 Apr 2020 17:51:56 GMT
Server: tencent-cos
x-cos-request-id: NWU5MjAzYmNfNjRiMDJhMDlfOTE3N18yYWI4****



<?xml version="1.0" encoding="UTF-8"?>
<CopyObjectResult>
<ETag>"22e024392de860289f0baa7d6cf8a549"</ETag>
<CRC64>11596229263574363878</CRC64>
<LastModified>2020-04-11T17:51:56Z</LastModified>
<VersionId>MTg0NDUxNTc0NDYxOTI4MzU0MDI</VersionId>
</CopyObjectResult>

Was this page helpful?
You can also Contact Sales or Submit a Ticket for help.
Yes
No

Feedback