更新时间:2022-02-10 GMT+08:00

复制段

功能说明

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

方法定义

1. ObsClient->copyPart(array $parameter)
2. ObsClient->copyPartAsync(array $parameter, callable $callback)

请求参数

字段名

类型

约束

说明

Bucket

string

必选

桶名。

Key

string

必选

对象名。

PartNumber

integer

必选

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

UploadId

string

必选

分段上传任务的ID。

CopySource

string

必选

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

CopySourceRange

string

可选

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

SseC

string

可选

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

  • AES256

SseCKey

string

可选

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

CopySourceSseC

string

可选

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

  • AES256

CopySourceSseCKey

string

可选

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

返回结果

字段名

类型

说明

HttpStatusCode

integer

HTTP状态码。

Reason

string

HTTP文本描述。

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值。

代码样例

try {
       $resp = $obsClient->copyPart( [ 
              'Bucket' => 'bucketname',
              'Key' => 'objectkey',
              'UploadId' => 'uploadid',
              'PartNumber' => 1,
              'CopySource' => 'sourcebucketname/sourceobjectkey',
              'CopySourceRange' => 'bytes=0-10'
       ] );
       printf ( "RequestId:%s\n", $resp ['RequestId'] );
       printf ( "ETag:%s\n", $resp ['ETag'] );
       printf ( "LastModified:%s\n", $resp ['LastModified'] );
} catch ( Obs\Common\ObsException $obsException ) {
       printf ( "ExceptionCode:%s\n", $obsException->getExceptionCode () );
       printf ( "ExceptionMessage:%s\n", $obsException->getExceptionMessage () );
}