更新时间:2021-03-18 GMT+08:00
分享

复制段

功能说明

初始化分段上传任务后,通过分段上传任务的ID,复制段到指定桶中。

方法定义

ObsClient.copyPart

请求参数

字段名

类型

约束

说明

Bucket

String

必选

桶名。

Key

String

必选

对象名。

PartNumber

Number

必选

段号,取值范围:[1,10000]。

UploadId

String

必选

分段上传任务的ID。

CopySource

String

必选

指定源桶、源对象和源对象版本号(可为空)的参数,格式:源桶名/源对象名?versionId=源对象版本号。

CopySourceRange

String

可选

指定复制源对象的范围,取值区间:[0,源对象长度-1],格式:bytes=x-y。如果CopySourceRange的最大长度超出源对象长度-1,仍旧取源对象长度-1。

SseC

String

可选

以SSE-C方式加密目标段,支持的值:

  • AES256

SseCKey

Buffer

可选

SSE-C方式下加密目标段的密钥,由AES256算法算出。

CopySourceSseC

String

可选

以SSE-C方式解密源对象,支持的值:

  • AES256

CopySourceSseCKey

Buffer

可选

SSE-C方式下解密源对象的密钥,由AES256算法算出。

返回结果(InterfaceResult)

字段名

类型

说明

RequestId

String

OBS服务端返回的请求ID。

ETag

String

目标段的ETag值。

LastModified

String

目标段的最近一次修改时间。

SseKms

String

SSE-KMS方式的算法。

SseKmsKey

String

SSE-KMS方式的密钥。

SseC

String

SSE-C方式的算法。

SseCKeyMd5

String

SSE-C方式的密钥的MD5值。

代码样例

obsClient.copyPart({
       Bucket:'bucketname',
       Key : 'objectkey',
       PartNumber : 1,
       UploadId : 'uploadid',
       CopySource : 'sourcebucketname/sourceobjectkey',
       CopySourceRange : 'bytes=0-10'
},(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);
              }
       }
});

相关文档