对象存储BOS

    UploadPart

    接口描述

    在调用InitiateMultipartUpload获取UploadId后,我们需要用UploadPart命令来上传Object拆分后的数据(Part)。为了标识各个Part在Object的相对位置,在UploadPart需要指定一个partNumber参数,partNumber的取值范围是1-10000。BOS Part的大小有一定限制,除最后一个part外,其他part需要大于等于5MB,或者是1MB的整数倍,单个part不能超过5GB,且整个Object的大小不能超过5TB。

    请求(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
    上一篇
    InitiateMultipartUpload
    下一篇
    UploadPartCopy