x-cos-copy-source to specify the source object and use x-cos-copy-source-range to specify the byte range to copy (each part should be 1 MB to 5 GB).GetObjecet API permission of the source object and the InitiateMultipartUpload, ListMultipartUploads, ListParts, PutObject, CompleteMultipartUpload, and AbortMultipartUpload API permissions under the destination path.uploadId, which needs to be carried in the multipart upload request.x-cos-copy-source identifies the current version of the object to copy. If the current version is a delete marker and no version is specified in x-cos-copy-source, COS will consider that the object has been deleted and return a 404 error. If you specify a versionId in x-cos-copy-source and the versionId is a delete marker, COS will return an HTTP 400 error as delete markers cannot be set in x-cos-copy-source.PUT /<ObjectKey>?partNumber=PartNumber&uploadId=UploadId HTTP/1.1Host: <Bucketname-APPID>.cos.<Region>.myqcloud.comDate: GMT DateAuthorization: Auth Stringx-cos-copy-source: <Bucketname>-<APPID>.cos.<Region>.myqcloud.com/filepathx-cos-copy-source-range: bytes=first-lastx-cos-copy-source-if-match: etagx-cos-copy-source-if-none-match : etagx-cos-copy-source-if-unmodified-since: time_stampx-cos-copy-source-if-modified-since: time_stamp
examplebucket-1250000000 (see Bucket Overview > Basic Information and Bucket Overview > Bucket Naming Conventions), and <Region> is a COS region (see Regions and Access Endpoints).Header | Description | Type | Required |
x-cos-copy-source | URL of the source object. You can use versionid to specify the versionId of the object. | String | Yes |
Header | Description | Type | Required |
x-cos-copy-source-range | Byte range of the source object. The range value must be in the format of bytes=first-last, where both first and last are offsets starting from 0. For example, bytes=0-9 means that you want to copy the first 10 bytes of data of the source object. If this parameter is not specified, the entire object will be copied. | String | No |
x-cos-copy-source-If-Modified-Since | If the object is modified after the specified time, the operation will be performed; otherwise, 412 will be returned. This parameter can be used together with x-cos-copy-source-If-None-Match. If it is used together with other conditions, a conflict will be returned. | String | No |
x-cos-copy-source-If-Unmodified-Since | If the object is not modified after the specified time, the operation will be performed; otherwise, 412 will be returned. This parameter can be used together with x-cos-copy-source-If-Match. If it is used together with other conditions, a conflict will be returned. | String | No |
x-cos-copy-source-If-Match | If the ETag of the object is the same as the specified one, the operation will be performed; otherwise, 412 will be returned. This parameter can be used together with x-cos-copy-source-If-Unmodified-Since. If it is used together with other conditions, a conflict will be returned. | String | No |
x-cos-copy-source-If-None-Match | If the ETag of the object is different from the specified one, the operation will be performed; otherwise, 412 will be returned. This parameter can be used together with x-cos-copy-source-If-Modified-Since. If it is used together with other conditions, a conflict will be returned. | string | No |
Parameter | Description | Type | Required |
partNumber | Part number | String | Yes |
uploadId | To upload an object in parts, you must first initialize the multipart upload. The response of the multipart upload initialization will carry a unique descriptor ( uploadId), which needs to be carried in the multipart upload request. | String | Yes |
Header | Description | Type |
x-cos-copy-source-version-id | Version ID of the source object to copy (if versioning is enabled for the source bucket) | String |
x-cos-server-side-encryption | If the object is stored with COS-managed server-side encryption, the response will contain this header and the encryption algorithm used (AES256). | String |
<?xml version="1.0" encoding="UTF-8" ?><CopyPartResult><ETag>"ba82b57cfdfda8bd17ad4e5879ebb4fe"</ETag><LastModified>2017-09-04T04:45:45</LastModified></CopyPartResult>
Parameter | Description | Type |
CopyPartResult | Results of the copy | String |
ETag | MD5 checksum of the object. ETag can be used to check whether the object content has changed. | String |
LastModified | Last modified time of the object, in GMT format | String |
PUT /exampleobject?partNumber=1&uploadId=1505706248ca8373f8a5cd52cb129f4bcf85e11dc8833df34f4f5bcc456c99c42cd1ffa2f9 HTTP/1.1User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.13.1.0 zlib/1.2.3 libidn/1.18 libssh2/1.2.2Accept: */*x-cos-copy-source:examplebucket-1250000000.cos.ap-shanghai.myqcloud.com/exampleobject1x-cos-copy-source-range: bytes=10-100Host: examplebucket-1250000000.cos.ap-shanghai.myqcloud.comAuthorization:q-sign-algorithm=sha1&q-ak=AKIDDNMEycgLRPI2axw9xa2Hhx87wZ3M****&q-sign-time=1507530223;1508530223&q-key-time=1507530223;1508530223&q-header-list=&q-url-param-list=&q-signature=d02640c0821c49293e5c289fa07290e6b2f0****
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 133Connection: keep-aliveDate: Mon, 04 Sep 2017 04:45:45 GMTServer: tencent-cosx-cos-request-id: NTlkYjFjYWJfMjQ4OGY3MGFfNGIz****<CopyPartResult><ETag>"ba82b57cfdfda8bd17ad4e5879ebb4fe"</ETag><LastModified>2017-09-04T04:45:45</LastModified></CopyPartResult>
Feedback