Updated on 2023-03-16 GMT+08:00

Complete Multipart Upload

API Description

You can use this API to combine the uploaded parts in a specified bucket by using the multipart upload ID.

Method Definition

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

Request Parameter

Field

Type

Optional or Mandatory

Description

Bucket

string

Mandatory

Bucket name

Key

string

Mandatory

Object name

UploadId

string

Mandatory

Multipart upload ID

Parts

indexed array

Mandatory

List of parts to be combined

  

PartNumber

integer

Mandatory

Part number

ETag

string

Mandatory

Part ETag

Returned Result

Field

Type

Description

HttpStatusCode

integer

HTTP status code

Reason

string

Reason description

RequestId

string

Request ID returned by the OBS server

ETag

string

ETag calculated based on the ETags of all combined parts

Bucket

string

Bucket in which parts are combined

Key

string

Object name obtained after part combination

Location

string

URL of the object generated after part combination

VersionId

string

Version ID of the object obtained after part combination

SseKms

string

Algorithm used in SSE-KMS encryption

SseKmsKey

string

Master key used in SSE-KMS encryption

SseC

string

Algorithm used in SSE-C encryption

SseCKeyMd5

string

MD5 value of the key used in SSE-C encryption

Sample Code

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 () );
}