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

合并段

功能说明

通过分段上传任务的ID,合并指定桶中已上传的段。

方法定义

1. ObsClient->completeMultipartUpload(array $parameter)
2. ObsClient->completeMultipartUploadAsync(array $parameter, callable $callback)

请求参数

字段名

类型

约束

说明

Bucket

string

必选

桶名。

Key

string

必选

对象名。

UploadId

string

必选

分段上传任务的ID。

Parts

indexed array

必选

合并的段列表。

  

PartNumber

integer

必选

段号。

ETag

string

必选

段的ETag值。

返回结果

字段名

类型

说明

HttpStatusCode

integer

HTTP状态码。

Reason

string

HTTP文本描述。

RequestId

string

OBS服务端返回的请求ID。

ETag

string

合并段后根据各个段的ETag值计算出的结果。

Bucket

string

合并段所在的桶。

Key

string

合并段后得到的对象名。

Location

string

合并段后得到的对象的url。

VersionId

string

合并段后得到的对象版本号。

SseKms

string

SSE-KMS方式的算法。

SseKmsKey

string

SSE-KMS方式的主密钥。

SseC

string

SSE-C方式的算法。

SseCKeyMd5

string

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

代码样例

try {
       $resp = $obsClient->completeMultipartUpload( [ 
              'Bucket' => 'bucketname',
              'Key' => 'objectkey',
              'UploadId' => 'uploadid',
              'Parts' => [
                     ['PartNumber' => 1, 'ETag' => 'etag1'], 
                     ['PartNumber' => 2, 'ETag' => 'etag2']
              ]
       ] );
       printf ( "RequestId:%s\n", $resp ['RequestId'] );
       printf ( "Bucket:%s\n", $resp ['Bucket'] );
       printf ( "Key:%s\n", $resp ['Key'] );
       printf ( "ETag:%s\n", $resp ['ETag'] );
} catch ( Obs\Common\ObsException $obsException ) {
       printf ( "ExceptionCode:%s\n", $obsException->getExceptionCode () );
       printf ( "ExceptionMessage:%s\n", $obsException->getExceptionMessage () );
}