全部產品
Search
文件中心

Object Storage Service:UploadPart

更新時間:Jun 19, 2024

初始化一個MultipartUpload後,調用UploadPart介面根據指定的Object名和uploadId來分塊(Part)上傳資料。

注意事項

  • 調用UploadPart介面上傳Part資料前,必須先調用InitiateMultipartUpload介面來擷取OSS伺服器產生的uploadId。

  • 如果使用同一個partNumber上傳了新的資料,則OSS上已有的partNumber對應的Part資料將被覆蓋。

  • OSS會將伺服器端收到Part資料的MD5值放在ETag頭返回給使用者。

  • 如果調用InitiateMultipartUpload介面時,指定了x-oss-server-side-encryption要求標頭,則會對上傳的Part進行加密編碼,並在UploadPart回應標頭中返回x-oss-server-side-encryption頭,其值表明該Part的伺服器端密碼編譯演算法。更多資訊,請參見InitiateMultipartUpload

請求文法

PUT /ObjectName?partNumber=PartNumber&uploadId=UploadId HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Content-Length: Size
Authorization: SignatureValue

要求標頭

此介面僅涉及公用要求標頭。更多資訊,請參見公用要求標頭(Common Request Headers)

請求元素

名稱

類型

是否必選

樣本值

描述

partNumber

正整數

1

每一個上傳的Part都有一個標識它的號碼(partNumber)。

取值:1~10000

單個Part的大小限制為100 KB~5 GB。

說明

MultipartUpload事件中除最後一個Part以外,其他Part的大小都要大於或等於100 KB。因不確定是否為最後一個Part,UploadPart介面並不會立即校正上傳Part的大小,只有當CompleteMultipartUpload時才會校正。

uploadId

字串

0004B9895DBBB6EC9****

uploadId用於唯一標識上傳的Part屬於哪個Object。

回應標頭

名稱

類型

樣本值

描述

Content-MD5

字串

1B2M2Y8AsgTpgAmY7PhC****

表示Part的MD5值。

重要

Part的MD5值指的是用戶端上傳完成後擷取到的分區MD5,並非響應體的MD5。

x-oss-hash-crc64ecma

字串

316181249502703****

表示Part的CRC64值。

此介面還涉及其他公用回應標頭,例如Date、x-oss-request-id等。更多資訊,請參見公用回應標頭(Common Response Headers)

樣本

請求樣本

PUT /multipart.data?partNumber=1&uploadId=0004B9895DBBB6EC9****  HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Content-Length:6291456
Date: Wed, 22 Feb 2012 08:32:21 GMT
Authorization: OSS qn6q**************:77Dv****************
[6291456 bytes data]

返回樣本

HTTP/1.1 200 OK
Server: AliyunOSS
Content-length: 0
Connection: keep-alive
ETag: "7265F4D211B56873A381D321F586****"
x-oss-request-id: 3e6aba62-1eae-d246-6118-8ff42cd0****
Date: Wed, 22 Feb 2012 08:32:21 GMT
Content-MD5: 1B2M2Y8AsgTpgAmY7Ph****
x-oss-hash-crc64ecma: 316181249502703****
x-oss-server-time: 77

SDK

此介面所對應的各語言SDK如下:

錯誤碼

錯誤碼

HTTP狀態代碼

描述

NoSuchUpload

404

分區上傳ID不存在。

InvalidArgument

400

超出partNumber範圍(1~10000)。

InvalidDigest

400

為了保證資料在網路傳輸過程中不出現錯誤,使用者發送請求時可以攜帶Content-MD5,OSS計算上傳資料的MD5與使用者上傳的MD5值不一致則表示資料轉送出現錯誤。