全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

Upload Part

最近更新时间:2022-12-30 15:48:03

描述

此操作将在分块上传任务中上传一个块。

注意事项

  • 在你上传任一块之前你必须先要启动一个分块上传任务。在你发送一个启动请求后,KS3会给你一个唯一的 upload ID。每次上传块时,都需要将上传ID包含在请求中。
  • 块的数量可以是1到10,000中的任意一个(包含1和10,000)。块序号用于标识一个块以及其在对象创建时的位置。如果你上传一个新的块,使用之前已经使用的序列号,那么之前的那个块将会被覆盖。
  • 所有块的大小均要求小于等于5GB。   当所有块总大小大于5M时:除了最后一个块外,其余块的大小均要求在5MB以上。   当所有块总大小小于等于5MB时:除了最后一个块外,其余块的大小均要求在100KB以上。  * 因不确定是否为最后一个Part,Upload Part接口并不会立即校验上传Part的大小,只有当Complete Multipart Upload时才会校验。
  • 为了保证数据在传输过程中没有损坏,请使用 Content-MD5 头部。当使用此头部时,KS3会自动计算出MD5,并根据用户提供的MD5进行校验,如果不匹配,将会返回错误信息。
  • 当你启动分块上传后,并开始上传分块,你必须完成或者放弃上传任务,才能终止因为存储造成的收费。

请求

请求语法

PUT /{ObjectKey}?partNumber={PartNumber}&uploadId={UploadId} HTTP/1.1
Host: {BucketName}.{endpoint}
Date: {date}
Content-Length: {Size}
Authorization: {SignatureValue}

注意:

请求参数

名称 描述 是否必选
partNumber PartNumber需要是升序连续的数字,且范围在1到10,000之间。否则最后在Complete Multipart Upload时,可能会导致KS3返回错误的状态码。
类型:Integer
uploadId 此次分块上传事件的唯一标识,是在初始化分块上传时获取的。
类型:String

请求头部

该接口可以使用所有常用请求头部。获取更多信息,请点击常用请求头部

名称 描述 是否必选
Content-Length 指明对象的大小,按字节。更多信息,请点击https://www.w3.org/Protocols/rfc2616/rfc2616.html
类型:String
默认值:None
约束条件:无
Content-MD5 base64加密MD5信息,128位,用于对象完整性校验。
类型:String
默认值:None
约束条件:无
Expect 当你使用 100-continue 时,直到收到确认时才会发送请求体。如果头部信息被拒绝,请求体不会被发送。
类型:String
默认值:None
有效值:100-continue
约束条件:无
加密相关请求头
若使用客户提供的加密密钥的服务器端加密,则需要以下请求头。 名称 描述 是否必选
x-kss-server-side-encryption-customer-algorithm 客户端提供的加密算法,合法值:AES256
x-kss-server-side-encryption-customer-key 客户端提供的加密密钥
x-kss-server-side-encryption-customer-key-MD5 客户端提供的通过BASE64编码的通过128位MD5加密的密钥的MD5值

请求内容

该接口不使用请求内容。

响应

响应头部

该接口可以使用所有常用响应头部。获取更多信息,请点击常用响应头部

名称 描述
x-kss-server-side-encryption 如果存储 object 时使用了服务端加密,则响应会包含该头部,值为使用的加密算法。
类型:String
x-kss-server-side-encryption-customer-algorithm 如果服务端使用了用户提供的加密秘钥加密,在请求解密时,响应将会包含该头部来确认使用的解密算法。
类型:String
有效值:AES256
x-kss-server-side-encryption-customer-key-MD5 如果服务端使用了用户提供的加密秘钥加密,在请求解密时,响应将会包含该头部来提供用户提供加密秘钥的数据一致性验证信息。
类型:String

响应内容

该接口不使用响应内容。

示例

请求示例

PUT /my-video.rm?partNumber=2&uploadId=1aa9cfad5e2e405c8f27965feb8b60cc HTTP/1.1
Host: ks3-example.ks3-cn-beijing.ksyuncs.com
Date: Mon, 1 Nov 2010 20:34:56 GMT
Content-Length: 10485760
Content-MD5: pUNXr/BjKK5G2UKvaRRrOA==
Authorization: authorization string

响应示例

HTTP/1.1 200 OK
Date: Mon, 1 Nov 2010 20:34:56 GMT
ETag: "b54357faf0632cce46e942fa68356b38"
Content-Length: 0
Connection: keep-alive
x-kss-request-id: f86oitegm4soa875o1ib1nqmlkjv35is
Server: KS3

错误码

错误码 HTTP状态码 描述
InvalidPartNum 400 超出PartNumber取值范围(1~10000)。
InvalidDigest 400 KS3计算的MD5值与用户提供的MD5值不一致。
NoSuchUpload 404 指定的分块上传任务不存在。可能是上传ID无效,也可能是分块上传任务已经完成或放弃。
RequestEntityTooLarge 413 指定上传的文件过大,分块大小不能大于5G。
MissingCustomerKey 400 缺少加密请求头
x-kss-server-side-encryption-customer-algorithm为空
Md5ErrorForCustomerKey 400 客户端加密头与Initiate Multipart Upload时的不一致
x-kss-server-side-encryption-customer-key-MD5不是 x-kss-server-side-encryption-customer-key的MD5值
AlgorithmInvalidForCustomerKey 400 x-kss-server-side-encryption-customer-algorithm不是合法的AES256
文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈