UploadPart
更新时间:2021-09-02
接口描述
在调用 InitiateMultipartUpload 获取 UploadId 后,我们需要用 UploadPart 命令来上传 Object 拆分后的数据(Part)。为了标识各个 Part 在 Object 的相对位置,在 UploadPart 需要指定一个 partNumber 参数,partNumber 的取值范围是 1 - 10000。
BOS Part 的大小有一定限制,除最后一个分片外,单个分片最小支持 100 KB,最大支持 5 GB,且整个 Object 大小不超过 48.8 TB。
请求(Request)
-
请求语法
PUT /<ObjectName>?partNumber=PartNumber&uploadId=UploadId HTTP/1.1 Host: <BucketName>.bj.bcebos.com Date: <Date> Authorization: <AuthorizationString> Content-Length: <ContentLength>
-
请求头域
名字 类型 描述 Content-MD5 String RFC2616定义的HTTP请求内容的MD5摘要,可以通过携带该字段来验证保存在BOS侧的文件和用户预期的文件是否一致。 x-bce-content-sha256 String 通过携带该字段来验证保存在BOS侧的文件和用户预期的文件是否一致,sha256的校验准确性更高。所传数据的sha256值必须与此匹配,否则UploadPart失败。 x-bce-content-crc32 String 上传object的CRC值(循环冗余校验码)。 -
请求参数
名称 类型 参数位置 描述 是否必需 partNumber Int Query参数 本次上传的part在object的相对位置 是 uploadId String Query参数 InitiateMultipartUpload获取的UploadId 是
响应(Response)
-
响应元素
无
-
响应头域
名称 类型 描述 ETag String 每个上传分块的ETag 其他 - 其他RFC2616相关的Header字段 注意事项
UploadPart会返回本次Part的eTag,在MultipartUpload的第三步中需要此eTag,也建议用户用eTag验证上传数据的正确性。
示例
-
请求示例
PUT /ObjectName?partNumber=PartNumber&uploadId=UploadId HTTP/1.1 Host: BucketName.bj.bcebos.com Date: Wed, 06 Apr 2016 06:34:40 GMT Authorization: AuthorizationString Content-length:2794 Content-Type:text/plain [2794 bytes of object data]
-
响应示例
HTTP/1.1 200 OK x-bce-request-id: 4db2b34d-654d-4d8a-b49b-3049ca786409 Date: Wed, 06 Apr 2016 06:34:40 GMT ETag: "b54357faf0632cce46e942fa68356b38" Content-Length: 0 Connection: keep-alive Server: BceBos