接口描述
- 接口名称:UploadPart
- 接口功能:该接口请求用于实现将对象按照分块的方式上传到数据保险箱,最多支持10000分块,每个分块大小为1MB - 5GB,最后一个分块可以小于1MB。
说明:
- 分块上传首先需要进行初始化,使用 InitiateMultipartUpload 接口 实现,初始化后会得到一个 uploadId ,唯一标识本次上传。
- 在每次请求 UploadPart 时,需要携带 partNumber 和 uploadId,partNumber 为块的编号,支持乱序上传。
- 当传入 uploadId 和 partNumber 都相同的时候,后传入的块将覆盖之前传入的块。当 uploadId 不存在时会返回404错误,NoSuchUpload。
请求
请求示例
PUT /<CofferName-APPID>/<ObjectKey>?partNumber=PartNumber&uploadId=UploadId HTTP/1.1
Host: cdcs.<Region>.myqcloud.com
Date: GMT Date
Content-Length: Size
Authorization: Auth String
[Object]
说明:Authorization: Auth String 详情,请参见 请求签名 文档。
请求头
公共头部
该请求操作使用公共请求头部实现,了解公共请求头部详请,请参见 公共请求头部 文档。
非公共头部
必选头部
该请求操作需要请求头使用必选头部,具体内容如下:
名称 | 是否必选 | 类型 | 描述 |
---|---|---|---|
Content-Length | 是 | String | RFC 2616 中定义的 HTTP 请求内容长度(字节)。 |
推荐头部
该请求操作推荐请求头使用推荐头部,具体内容如下:
名称 | 是否必选 | 类型 | 描述 |
---|---|---|---|
Content-MD5 | 否 | String | RFC 1864 中定义的经过 Base64 编码的请求体内容 MD5 哈希值,用于完整性检查,验证请求体在传输过程中是否发生变化。 |
请求参数
具体内容如下:
参数名称 | 是否必选 | 类型 | 描述 |
---|---|---|---|
partNumber | 是 | String | 标识本次分块上传的编号,partNumber 需要大于等于1。 |
uploadId | 是 | String | 标识本次分块上传的 ID,使用 InitiateMultipartUpload 接口 初始化分片上传时,会得到一个 uploadId,该 ID 不但唯一标识这一分块数据,也标识了这分块数据在整个文件内的相对位置。 |
请求体
该请求的请求体为该分块的数据内容。
响应
响应头
公共响应头
该响应包含公共响应头,了解公共响应头详情,请参见 公共响应头部 文档。
特有响应头
该响应无特有响应头部信息。
响应体
该请求的响应体为空。
错误码
此接口的特殊错误信息如下所述,全部错误信息请参见 错误码 文档。
错误码 | HTTP 状态码 | 描述 |
---|---|---|
AssumeRoleFailed | 409 Conflict | 扮演角色失败,检查是否已授予保险箱角色。 |
KMSFailed | 409 Conflict | 调用 KMS 失败。 |
示例
请求
PUT /examplecoffer-1250000000/exampleobject?partNumber=1&uploadId=1484727270323ddb949d528c629235314a9ead80f0ba5d993a3d76b460e6a9cceb9633b08e HTTP/1.1
Host: cdcs.ap-beijing.myqcloud.com
Date: Wed,18 Jan 2017 16:17:03 GMT
Authorization: [Auth String]
Content-Length: 10485760
[Object]
响应
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 0
Connection: keep-alive
Date: Wed,18 Jan 2017 16:17:03 GMT
Etag: "e1e5b4965bc7d30880ed6d226f78a5390f1c09fc"
Server: tencent-cdcs
x-cdcs-request-id: NTg3ZjI0NzlfOWIxZjRlXzZmNGJfMWYy