文档中心 > CompleteMultipartUpload
CompleteMultipartUpload

最近更新时间:2022-01-18

使用CompleteMultipartUpload接口,通过组装之前上传的片完成分片上传。

首先初始化一个分片上传,通过upload part上传所有片。在上传所有相关片后,通过执行该操作完成这个分片上传。一旦接收到这个请求,服务器将所有片编号安装升序排序来创建一个新的object。在完成上传请求中,必须提供片列表。必须保证片列表是完成的。片列表中的每一片必须提供片编号和返回的标签。

请求

请求语法

POST /ObjectName?uploadId=UploadId HTTP/1.1

Host: examplebucket.region.unicloudsrv.com

Date: Date

Content-Length: Size

Authorization: authorization string

 

<CompleteMultipartUpload>

  <Part>

    <PartNumber>PartNumber</PartNumber>

    <ETag>ETag</ETag>

  </Part>

  ...

</CompleteMultipartUpload>

请求参数

参数

描述

CompleteMultipartUpload

请求容器。

Part

与以前上传的一片相关联的元素容器。

PartNumber

上传片编号。

ETag

当上传片完成后返回的实体标签。

响应

响应头

参数

描述

x-amz-expiration

如果object的Expiration作为bucket的生命周期中的一片被设置,该头被返回。

x-amz-server-side-encryption

POST请求中如果服务端使用了Unicloud KMS加密或者Unicloud托管加密,响应中包括该头。

x-amz-server-side-encryption-aws-kms-key-id

如果x-amz-server-side-encryption存在并且赋值为aws:kms,该头标识为object所使用的KMS主密钥。

x-amz-server-side-encryption-customer-algorithm

如果服务端采用了SSE-C加密请求,响应中就会包括该头来确认使用了该加密算法。

x-amz-version-id

新创建对象的版本ID,以防bucket启用了版本控制。

响应元素

参数

描述

CompleteMultipartUploadResult

响应信息的容器。

Location

指明新创建对象的URI。

Bucket

包含新创建对象的空间的名称。

Key

新创建对象的object key。

ETag

用于标识新创建对象内容的实体标签。具有不同内容的对象对应着不同的实体标签。实体标签是一个不透明的字符串,可能包含MD5摘要,也可能不包含。如果不 包含对象内容的MD5摘要,它将包含至少一个非十六进制字符和或多于或少于32位的十六进制数字。

特殊错误

参数

描述

EntityTooSmall

用户拟上传的块大小小于对象所允许的最小值(5MB)。

InvalidPart

一个或多个指定的块没有找到。块可能没有被上传,也可能因为上传了但实体标签不匹配。

InvalidPartOrder

分块列表没有按照升序排列。分块必须按序指定分块序号。

NoSuchUpload

指定的分块上传任务不存在。可能是上传ID无效,也可能是分块上传任务已经完成或放弃。

示例

请求示例

POST /example-object?uploadId=AAAsb2FkIElEIGZvciBlbHZpbmcncyWeeS1tb3ZpZS5tMnRzIRRwbG9hZA HTTP/1.1

Host: examplebucket.region.unicloudsrv.com

Date:  Mon, 1 Nov 2010 20:34:56 GMT

Content-Length: 391

Authorization: authorization string

 

<CompleteMultipartUpload>

  <Part>

    <PartNumber>1</PartNumber>

    <ETag>"a54357aff0632cce46d942af68356b38"</ETag>

  </Part>

  <Part>

    <PartNumber>2</PartNumber>

    <ETag>"0c78aef83f66abc1fa1e8477f296d394"</ETag>

  </Part>

  <Part>

    <PartNumber>3</PartNumber>

    <ETag>"acbd18db4cc2f85cedef654fccc4a4d8"</ETag>

  </Part>

</CompleteMultipartUpload>

  

HTTP/1.1 200 OK

x-amz-id-2: Uuag1LuByRx9e6j5Onimru9pO4ZVKnJ2Qz7/C1NPcfTWAtRPfTaOFg==

x-amz-request-id: 656c76696e6727732072657175657374

Date: Mon, 1 Nov 2010 20:34:56 GMT

Connection: close

Server: nginx

返回示例

<?xml version="1.0" encoding="UTF-8"?>

<CompleteMultipartUploadResult xmlns="http://region.unicloudsrv.com/doc/2006-03-01/">

  <Location>http://examplebucket.region.unicloudsrv.com/Example-Object</Location>

  <Bucket>Example-Bucket</Bucket>

  <Key>Example-Object</Key>

  <ETag>"3858f62230ac3c915f300c664312c11f-9"</ETag>

</CompleteMultipartUploadResult>