如果用户上传完所有的段,就可以调用合并段接口,系统将在服务端将用户指定的段合并成一个完整的对象。
合并完成的多段上传数据可以通过已有的下载对象接口,下载整个多段上传对象或者指定Range下载整个多段上传对象的某部分数据。
合并完成的多段上传数据可以通过已有的删除对象接口,删除整个多段上传对象的所有分段数据,删除后不可恢复。
CompleteMultipartUpload
有以下特殊错误:
- 错误代码:
EntityTooSmall
- 说明:您建议的上传小于允许的最小对象尺寸。每个部分的大小必须至少为 5 MB,最后一部分除外。
- 400 错误请求
- 错误代码:
InvalidPart
- 说明:找不到一个或多个指定部件。 那个部分可能尚未上传,或者指定的实体标签可能没有匹配零件的实体标签。
- 400 错误请求
- 错误代码:
InvalidPartOrder
- 说明:部件列表未按升序排列。 零件清单必须按零件编号顺序指定。
- 400 错误请求
- 错误代码:
NoSuchUpload
- 说明:指定的分段上传不存在。 上传ID 可能无效,或者分段上传可能已中止或已完成。
- 404 未找到
POST /Key+?uploadId=UploadId HTTP/1.1
Host: Bucket.s3-us-east-1.ossfiles.com
名称 | 描述 | 类型 |
---|---|---|
Bucket | 存储桶名称。 | 字符串 |
Key | 对象的名称。 | 字符串 |
uploadId | 多段上传任务Id。 | 字符串 |
该请求没有请求消息头。
<?xml version="1.0" encoding="UTF-8"?>
<CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Part>
<ETag>string</ETag>
<PartNumber>integer</PartNumber>
</Part>
</CompleteMultipartUpload>
名称 | 描述 | 类型 |
---|---|---|
CompleteMultipartUpload | 合并的段列表。 | 容器 |
CompleteMultipartUpload.ETag | 上传段成功后返回的ETag值,是段内容的唯一标识。该值用于合并段时进行数据一致性校验。 | 字符串 |
CompleteMultipartUpload.PartNumber | 段号。 | 整数 |
HTTP/1.1 200 OK
Date: Tue, 17 Jan 2023 08:18:25 GMT
x-amz-id-2: 6297b4bd8d4d49d2b94745f1b63df0f0
x-amz-request-id: 1e69345daa9145528804540b6deb2eb5
Content-type: application/xml
<?xml version="1.0" encoding="UTF-8"?>
<CompleteMultipartUploadResult>
<Location>string</Location>
<Bucket>string</Bucket>
<Key>string</Key>
<ETag>string</ETag>
</CompleteMultipartUploadResult>
名称 | 描述 | 类型 |
---|---|---|
Location | 合并后得到对象的路径。 | 容器 |
Bucket | 合并段所在的桶。 | 字符串 |
Key | 合并得到对象的key。 | 字符串 |
ETag | 根据各个段的ETag计算得出的结果,是对象内容的唯一标识。 | 字符串 |
该请求没有响应消息头。
请求示例
POST /MultipartUpload?uploadId=352b974474df5838413b7c57bf95f3a6 HTTP/1.1
Authorization: AWS4-HMAC-SHA256 Credential=2421a691b4ed625de19f6f92677b6459/20230117/us-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=a86c5e2caa519bc2342ea046a46dc6a320808f36fa70b9c595c02f5ee431d602
Content-length: 185
Content-type: application/xml
Host: bucket.s3-us-east-1.ossfiles.com
X-amz-content-sha256: 40f2e137dfaaeaf8c8dae8ab651d337a3c476891328989e6e5ca79216766049a
X-amz-date: 20230117T081822Z
<CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Part>
<ETag>"781e5e245d69b566979b86e28d23f2c7"</ETag>
<PartNumber>1</PartNumber>
</Part>
</CompleteMultipartUpload>
返回示例
HTTP/1.1 200 OK
Content-length: 325
Content-type: application/xml
Date: Tue, 17 Jan 2023 08:18:25 GMT
x-amz-id-2: 6297b4bd8d4d49d2b94745f1b63df0f0
x-amz-request-id: 1e69345daa9145528804540b6deb2eb5
<?xml version="1.0" encoding="UTF-8"?>
<CompleteMultipartUploadResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Location>https://bucket.s3-us-east-1.ossfiles.com/MultipartUpload</Location>
<Bucket>bucket</Bucket>
<Key>MultipartUpload</Key>
<ETag>"8e938564cd1410f0ec1c1781466a6738-1"</ETag>
</CompleteMultipartUploadResult>