Updated on 2022-02-10 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

func (obsClient ObsClient) CompleteMultipartUpload(input *CompleteMultipartUploadInput) (output *CompleteMultipartUploadOutput, err error)

Method Definition If a Signed URL Is Used

func (obsClient ObsClient) CompleteMultipartUploadWithSignedUrl(signedUrl string, actualSignedRequestHeaders http.Header, data io.Reader) (output *CompleteMultipartUploadOutput, err error)

Request Parameter

Field

Type

Optional or Mandatory

input

*CompleteMultipartUploadInput

Mandatory

Returned Result

Field

Type

output

*CompleteMultipartUploadOutput

err

error

Sample Code

func main() {
       input := &obs.CompleteMultipartUploadInput{}
       input.Bucket = "bucketname"
       input.Key = "objectkey"
       input.UploadId = "uploadid"
       input.Parts = []obs.Part{
              obs.Part{PartNumber: 1, ETag: "etag1"},
              obs.Part{PartNumber: 2, ETag: "etag2"},
              obs.Part{PartNumber: 3, ETag: "etag3"},
       }
       output, err := obsClient.CompleteMultipartUpload(input)
       if err == nil {
              fmt.Printf("RequestId:%s\n", output.RequestId)
              fmt.Printf("Location:%s, Bucket:%s, Key:%s, ETag:%s\n", output.Location, output.Bucket, output.Key, output.ETag)
       } else {
              if obsError, ok := err.(obs.ObsError); ok {
                     fmt.Println(obsError.Code)
                     fmt.Println(obsError.Message)
              } else {
                     fmt.Println(err)
              }
       }
}