PUT Part - Copy
API Description
After a multipart upload is initialized, you can use this API to copy a part to a specified bucket by using the multipart upload ID.
Method Definition
ObsClient.copyPart
Request Parameter
Field | Type | Optional or Mandatory | Description |
|---|---|---|---|
Bucket | String | Mandatory | Bucket name |
Key | String | Mandatory | Object name |
RequestDate | String or Date | Optional | Request time NOTE: When the parameter type is String, the value must comply with the ISO8601 or RFC822 standards. |
PartNumber | Number | Mandatory | Part number, which ranges from 1 to 10000 |
UploadId | String | Mandatory | Multipart upload ID |
CopySource | String | Mandatory | Parameter used to specify the source bucket, source object, and source object version ID which can be null. It is in the format of SourceBucketName/SourceObjectName?versionId=SourceObjectVersionId. |
CopySourceRange | String | Optional | Copy range of the source object. The value range is [0, source object length-1] and is in the format of bytes=x-y. If the maximum length of CopySourceRange is larger than the length of the source object minus 1, the length of the source object minus 1 is used. |
SseC | String | Optional | Algorithm used to encrypt the target part in SSE-C mode. The value can be:
|
SseCKey | String | Optional | Custom key used in SSE-C encryption. The value is a Base64-encoded 256-bit key. |
CopySourceSseC | String | Optional | Algorithm used to decrypt the source object in SSE-C mode. The value can be:
|
CopySourceSseCKey | String | Optional | Key used to decrypt the source object in SSE-C mode |
Returned Result (InterfaceResult)
Field | Type | Description |
|---|---|---|
RequestId | String | Request ID returned by the OBS server |
ETag | String | ETag of the target part |
LastModified | String | Time when the last modification was made to the target part |
Sample Code
obsClient.copyPart({
Bucket:'bucketname',
Key : 'objectkey',
PartNumber : 1,
UploadId : 'uploadid',
CopySource : 'sourcebucketname/sourceobjectkey',
CopySourceRange : 'bytes=0-10'
},function (err, result){
if(err){
console.error('Error-->' + err);
}else{
if(result.CommonMsg.Status < 300){
console.log('RequestId-->' + result.InterfaceResult.RequestId);
console.log('LastModified-->' + result.InterfaceResult.LastModified);
console.log('ETag-->' + result.InterfaceResult.ETag);
}else{
console.log('Code-->' + result.CommonMsg.Code);
console.log('Message-->' + result.CommonMsg.Message);
}
}
}); Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.

