copyPart method
Copies part of an object.
This method works much the same as uploadPart method, except that it copies data from an existing object rather than providing it in the request body.
For more information on getting started with the API and the general request format, see How to use the S3 API.
Request
PUT /{bucket}/{key}?partNumber=PartNumber&uploadId=UploadId HTTP/2
Path parameters
Parameter | Description |
---|---|
bucket |
Name of the resulting bucket. |
key |
Key of the resulting object. ID that the object is saved with in Object Storage. |
Query parameters
Parameter | Description |
---|---|
partNumber |
ID that you assigned to the uploaded part. |
uploadId |
ID of the multipart upload returned by Object Storage at startup. |
Headers
Use the appropriate common headers in your request.
The Content-Length
header is required. The headers listed in the table below are also required.
Header | Description |
---|---|
X-Amz-Copy-Source |
The name of the bucket and the key of the object whose data will be copied, separated by / .For example, X-Amz-Copy-Source: /source_bucket/sourceObject . |
X-Amz-Copy-Source-Range |
Byte range to copy from the source object. For example, if you specify X-Amz-Copy-Source-Range:bytes=10-36 , then Object Storage will copy the range from the 10th to the 36th bytes of the source object. |
The Content-MD5
header is required if default object locks are configured in the bucket.
If you want to add copy conditions, use the headers listed in the table below.
Use the headers from the table below if you need to change the default behavior for the copy
method.
Header | Description |
---|---|
X-Amz-Copy-Source-If-Match |
Object copying condition. If ETag of an object is the same as in the header, the object is copied.If the condition is not met, Object Storage returns the 412 error. You can use it with the X-Amz-Copy-Source-If-Unmodified-Since header. |
X-Amz-Copy-Source-If-None-Match |
Object copying condition. If ETag of an object is not the same as in the header, the object is copied.If the condition is not met, Object Storage returns the 412 error. You can use it with the X-Amz-Copy-Source-If-Modified-Since header. |
X-Amz-Copy-Source-If-Unmodified-Since |
Object copying condition. The object is copied if it has not been modified since the specified time. If the condition is not met, Object Storage returns the 412 error. You can use it with the X-Amz-Copy-Source-If-Match header. |
X-Amz-Copy-Source-If-Modified-Since |
Object copying condition. The object is copied if it has been modified since the specified time. If the condition is not met, Object Storage returns the 412 error. You can use it with the X-Amz-Copy-Source-If-None-Match header. |
Response
Headers
Responses can only contain common response headers.
Response codes
For a list of possible responses, see Responses.
Additionally, Object Storage may return errors described in the table below.
Error | Description | HTTP code |
---|---|---|
NoSuchUpload |
The specified upload does not exist. The specified upload ID may be incorrect or the upload was completed or deleted. | 404 Not Found |
EntityTooSmall |
The part is too small. The part to upload must be at least 5 MB. |
400 Bad Request |
Data schema
<CopyObjectResult>
<LastModified>2019-02-15T14:32:00</LastModified>
<ETag>"9bgh7535f2734ec974343yuc93985328"</ETag>
</CopyObjectResult>
Element | Description |
---|---|
CopyObjectResult |
It contains response elements. Path: /CopyObjectResult . |
ETag |
ETag of the resulting part of a multipart upload.Path: /CopyObjectResult/ETag . |
LastModified |
Date when a part of a multipart upload was last modified. Path: /CopyObjectResult/LastModified . |