文档简介:
Upload Part
该接口用于实现分片上传操作中片段的上传。
在上传任何一个分片之前,必须执行Initial Multipart Upload操作来初始化分片上传操作,初始化成功后,OOS会返回一个上传ID,这是一个唯一的标识,用户必须在调用Upload Part接口时加入该ID。
分片号PartNumber可以唯一标识一个片段并且定义该分片在对象中的位置,范围从1到10000。如果用户用之前上传过的片段的分片号来上传新的分片,之前的分片将会被覆盖。
除了最后一个分片外,所有分片的都不小于5M,最后一个分片的大小不受限制。
为了确保数据不会由于网络传输而毁坏,需要在每个分片上传请求中指定Content-MD5头,OOS通过提供的Content-MD5值来检查数据的完整性,如果不匹配,则会返回一个错误信息。
请求语法
PUT /ObjectName?partNumber=PartNumber&uploadId=UploadId HTTP/1.1 Host: BucketName.oos-cn.ctyunapi.cn Date: date Content-Length: Size |
请求参数
无
请求头格式
使用者可以通过一下请求头实现对应操作。
名称 |
描述 |
是否必须 |
Content-Length |
该分片的大小,单位为字节。 类型:Integer 默认值:None |
是 |
Content-MD5 |
该分片数据的128位采用base64编码的MD5值。这个头可以用来验证该分片数据是否与原始数据值保持一致。尽管这个值是可选的,我们仍然推荐使用Content-MD5机制来执行端到端的一致性校验。 类型:String 默认值:None |
否 |
x-amz-limit |
对像上传限制的速率。 格式为:
其中
|
否 |
Expect |
用户的应用中设置请求头为100-continue,应用在接收到请求回应之前不会发送请求实体。如果基于请求头的消息被拒绝,消息的实体不会被发送。 类型:String 默认值:None 有效值:100-continue |
否 |
返回元素
无
出错响应
响应代码 |
描述 |
HTTP状态码 |
NoSuchUpload |
指定的分片上传过程不存在,上传ID可能非法,分片上传过程可能被终止或者已经完成。 |
404Not Found |
请求示例
示例中的PUT请求执行一次分片上传过程中的片段上传操作。该请求要求包含在Initial Multipart Upload操作中获取到的上传ID。
PUT /my-movie.m2ts?partNumber=1&uploadId=VCVsb2FkIElEIGZvciBlbZZpbm cncyBteS1tb3ZpZS5tMnRzIHVwbG9hZR HTTP/1.1 Host: example-bucket.oos-cn.ctyunapi.cn Date: Mon, 1 Nov 2010 20:34:56 GMT Content-Length: 10485760 Content-MD5: pUNXr/BjKK5G2UKvaRRrOA== Authorization: AWS 7799e793ce4624ee7e5a:xQE0diMbLRepdf3YB+FIEXAMPLE=
***part data omitted*** |
返回示例
响应中包含Etag头,用户需要在最后发送完成分片上传过程请求的时候包含该Etag值。
HTTP/1.1 200 OK x-amz-request-id: 656c76696e6727732072657175657374 Date: Mon, 1 Nov 2010 20:34:56 GMT ETag: "b54357faf0632cce46e942fa68356b38" Content-Length: 0 Connection: keep-alive Server: CTYUN |