接口描述
- 接口名称:CompleteMultipartUpload
- 接口功能:接口请求用来实现完成整个分块上传。当使用 UploadParts 上传所有分块完成后,必须调用该 API 来完成整个文件的分块上传。
注意:
在使用该 API 时,您必须在请求 Body 中给出每一个块的 PartNumber 和 ETag,用来校验块的准确性。
- 当上传的分块小于1MB的时候,在调用该 API 时,会返回400 EntityTooSmall。
- 当上传块编号不连续的时候,在调用该 API 时,会返回400 InvalidPart。
- 当请求 Body 中的块信息没有按序号从小到大排列,在调用该 API 时,会返回400 InvalidPartOrder。
- 当 UploadId 不存在的时候,在调用该 API 时,会返回404 NoSuchUpload。
注意:建议您及时完成分块上传或者舍弃分块上传,因为已上传但是未终止的块会占用存储空间,进而产生存储费用。
请求
请求示例
POST /<CofferName-APPID>/<ObjectKey>?uploadId=UploadId HTTP/1.1
Host: cdcs.<Region>.myqcloud.com
Date: GMT Date
Content-length: Size
Authorization: Auth String
说明:Authorization: Auth String 详情,请参见 请求签名 文档。
请求头
此接口仅使用公共请求头部,详情请参见 公共请求头部 文档。
请求体
该 API 接口请求的请求体具体节点内容为:
{
"Part": [{
"PartNumber": 1,
"ETag": "827ccb0eea8a706c4c34a16891f84e7b"
}, {
"PartNumber": 2,
"ETag": "927ccb0eea8a706c4c34a16891f84e8b"
}]
}
请求参数描述如下:
节点名称(关键字) | 是否必选 | 类型 | 描述 |
---|---|---|---|
Part | 是 | Object | 用来说明本次分块上传中每个块的信息。 |
Part 对象的描述:
节点名称(关键字) | 是否必选 | 类型 | 描述 |
---|---|---|---|
PartNumber | 是 | Integer | 块编号。 |
ETag | 是 | String | 每个块文件的 MD5 算法校验值。 |
响应
响应头
该响应仅使用公共响应头部,了解公共响应头详情,请参见 公共响应头部 文档。
响应体
该响应体返回为 application/json 数据,包含完整节点数据的内容展示如下:
{
"Locations": {
"Location": ["ap-beijing"]
},
"Coffer": "examplecoffer-1250000000",
"Key": "exampleobject",
"ETag": "\"3a0f1fd698c235af9cf098cb74aa25bc\""
}
请求参数描述如下:
节点名称(关键字) | 类型 | 描述 |
---|---|---|
Locations | Object | 新创建的对象的所在地域列表。 |
Location | Enum | 新创建的对象的所在地域,枚举值请参见 地域和访问域名 文档。 例如 ap-beijing,ap-hongkong,eu-frankfurt 等 |
Coffer | String | 分块上传的目标保险箱,格式为 CofferName-APPID,例如:examplecoffer-1250000000。 |
Key | String | 对象名称。 |
ETag | String | 合并后对象的唯一标签值,该值不是对象内容的 MD5 校验值,仅能用于检查对象唯一性。 |
错误码
此接口的特殊错误信息如下所述,全部错误信息请参见 错误码 文档。
错误码 | HTTP 状态码 | 描述 |
---|---|---|
AssumeRoleFailed | 409 Conflict | 扮演角色失败,检查是否已授予保险箱角色。 |
KMSFailed | 409 Conflict | 调用 KMS 失败。 |
示例
请求
POST /examplecoffer-1250000000/exampleobject?uploadId=1484728886e63106e87d8207536ae8521c89c42a436fe23bb58854a7bb5e87b7d77d4ddc48 HTTP/1.1
Host: cdcs.ap-beijing.myqcloud.com
Date: Wed,18 Jan 2017 16:17:03 GMT
Authorization: [Auth String]
Content-Length: 138
{
"Part": [{
"PartNumber": 1,
"ETag": "827ccb0eea8a706c4c34a16891f84e7b"
}, {
"PartNumber": 2,
"ETag": "927ccb0
eea8a706c4c34a16891f84e8b"
}]
}
响应
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 277
Connection: keep-alive
Date: Wed,18 Jan 2017 16:17:03 GMT
Server: tencent-cdcs
x-cdcs-request-id: NTg3ZjJlMjVfNDYyMDRlXzM0YzRfMjc1
{
"Locations": {
"Location": ["ap-beijing"]
},
"Coffer": "examplecoffer-1250000000",
"Key": "exampleobject",
"ETag": "\"3a0f1fd698c235af9cf098cb74aa25bc\""
}