文档中心>数据保险箱>API 文档>分片上传>将对象按照分块的方式上传到保险箱

将对象按照分块的方式上传到保险箱

最近更新时间:2023-02-03 11:04:14

接口描述

  • 接口名称:UploadPart
  • 接口功能:该接口请求用于实现将对象按照分块的方式上传到数据保险箱,最多支持10000分块,每个分块大小为1MB - 5GB,最后一个分块可以小于1MB。
    说明:

    1. 分块上传首先需要进行初始化,使用 InitiateMultipartUpload 接口 实现,初始化后会得到一个 uploadId ,唯一标识本次上传。
    2. 在每次请求 UploadPart 时,需要携带 partNumber 和 uploadId,partNumber 为块的编号,支持乱序上传。
    3. 当传入 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