55
人物
CompleteMultipartUpload__關於MultipartUpload的操作_API 參考_對象存儲 OSS-阿裏雲
在將所有數據Part都上傳完成後,必須調用Complete Multipart Upload API來完成整個文件的Multipart Upload。在執行該操作時,用戶必須提供所有有效的數據Part的列表(包括part號碼和ETAG);OSS收到用戶提交的Part列表後,會逐一驗證每個數據Part的有效性。當所有的數據Part驗證通過後,OSS將把這些數據part組合成一個完整的Object。
請求語法
POST /ObjectName?uploadId=UploadId HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Content-Length: Size
Authorization: Signature
<CompleteMultipartUpload>
<Part>
<PartNumber>PartNumber</PartNumber>
<ETag>ETag</ETag>
</Part>
...
</CompleteMultipartUpload>
請求參數(Request Parameters)
Complete Multipart Upload時,可以通過encoding-type對返回結果中的Key進行編碼。
名稱 | 描述 |
---|---|
encoding-type | 指定對返回的Key進行編碼,目前支持url編碼。Key使用UTF-8字符,但xml 1.0標準不支持解析一些控製字符,比如ascii值從0到10的字符。對於Key中包含xml 1.0標準不支持的控製字符,可以通過指定encoding-type對返回的Key進行編碼。 數據類型:字符串 默認值:無,可選值:url |
請求元素(Request Elements)
名稱 | 描述 |
---|---|
CompleteMultipartUpload | 保存Complete Multipart Upload請求內容的容器。 類型:容器 子節點:一個或多個Part元素 父節點:無 |
ETag | Part成功上傳後,OSS返回的ETag值。 類型:字符串 父節點:Part |
Part | 保存已經上傳Part信息的容器。 類型:容器 子節點:ETag, PartNumber 父節點:InitiateMultipartUploadResult |
PartNumber | Part數目。 類型:整數 父節點:Part |
響應元素(Response Elements)
名稱 | 描述 |
---|---|
Bucket | Bucket名稱。 類型:字符串 父節點:CompleteMultipartUploadResult |
CompleteMultipartUploadResult | 保存Complete Multipart Upload請求結果的容器。 類型:容器 子節點:Bucket, Key, ETag, Location 父節點:None |
ETag | ETag (entity tag) 在每個Object生成的時候被創建,用於標示一個Object的內容。Complete Multipart Upload請求創建的Object,ETag值是其內容的UUID。ETag值可以用於檢查Object內容是否發生變化。. 類型:字符串 父節點:CompleteMultipartUploadResult |
Location | 新創建Object的URL。 類型:字符串 父節點:CompleteMultipartUploadResult |
Key | 新創建Object的名字。 類型:字符串 父節點:CompleteMultipartUploadResult |
EncodingType | 指明返回結果中編碼使用的類型。如果請求的參數中指定了encoding-type,那返回的結果會對Key進行編碼。 類型:字符串 父節點:容器 |
細節分析
- Complete Multipart Upload時,會確認除最後一塊以外所有塊的大小都大於100KB,並檢查用戶提交的Partlist中的每一個Part號碼和Etag。所以在上傳Part時,客戶端除了需要記錄Part號碼外,還需要記錄每次上傳Part成功後,服務器返回的ETag值。
- OSS處理Complete Multipart Upload請求時,會持續一定的時間。在這段時間內,如果客戶端和OSS之間的鏈接斷掉,OSS仍會繼續將請求做完。
- 用戶提交的Part List中,Part號碼可以是不連續的。例如第一塊的Part號碼是1;第二塊的Part號碼是5。
- OSS處理Complete Multipart Upload請求成功後,該Upload ID就會變成無效。
- 同一個Object可以同時擁有不同的Upload Id,當Complete一個Upload ID後,該Object的其他Upload ID不受影響。
- 若調用Initiate Multipart Upload接口時,指定了x-oss-server-side-encryption請求頭,則在Complete Multipart Upload的響應頭中,會返回x-oss-server-side-encryption,其值表明該Object的服務器端加密算法。
- 如果用戶上傳了Content-MD5請求頭,OSS會計算body的Content-MD5並檢查一致性,如果不一致,將返回InvalidDigest錯誤碼。
示例
請求示例:
POST /multipart.data? uploadId=0004B9B2D2F7815C432C9057C03134D4 HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Content-Length: 1056
Date: Fri, 24 Feb 2012 10:19:18 GMT
Authorization: OSS qn6qrrqxo2oawuk53otfjbyc:8VwFhFUWmVecK6jQlHlXMK/zMT0=
<CompleteMultipartUpload>
<Part>
<PartNumber>1</PartNumber>
<ETag>"3349DC700140D7F86A078484278075A9"</ETag>
</Part>
<Part>
<PartNumber>5</PartNumber>
<ETag>"8EFDA8BE206636A695359836FE0A0E0A"</ETag>
</Part>
<Part>
<PartNumber>8</PartNumber>
<ETag>"8C315065167132444177411FDA149B92"</ETag>
</Part>
</CompleteMultipartUpload>
返回示例:
HTTP/1.1 200 OK
Server: AliyunOSS
Content-Length: 329
Content-Type: Application/xml
Connection: keep-alive
x-oss-request-id: 594f0751-3b1e-168f-4501-4ac71d217d6e
Date: Fri, 24 Feb 2012 10:19:18 GMT
<?xml version="1.0" encoding="UTF-8"?>
<CompleteMultipartUploadResult xmlns=”https://doc.oss-cn-hangzhou.aliyuncs.com”>
<Location>https://oss-example.oss-cn-hangzhou.aliyuncs.com /multipart.data</Location>
<Bucket>oss-example</Bucket>
<Key>multipart.data</Key>
<ETag>B864DB6A936D376F9F8D3ED3BBE540DD-3</ETag>
</CompleteMultipartUploadResult>
最後更新:2016-11-23 17:16:08
上一篇:
UploadPartCopy__關於MultipartUpload的操作_API 參考_對象存儲 OSS-阿裏雲
下一篇:
AbortMultipartUpload__關於MultipartUpload的操作_API 參考_對象存儲 OSS-阿裏雲
查看實例列表__實例管理_開放API_分布式關係型數據庫 DRDS-阿裏雲
雲服務器 ECS 快照(Snapshot) 應用場景
查看作業__命令行工具_批量計算-阿裏雲
8.2 數據導入任務生產指南__第八章 在生產中使用分析型數據庫_使用手冊_分析型數據庫-阿裏雲
SDK使用說明__JAVA SDK_SDK 手冊_CDN-阿裏雲
參數詳情__附錄_API使用手冊_媒體轉碼-阿裏雲
耗資源用戶處理流程__網站訪問異常_技術分享_雲虛機主機-阿裏雲
2015-12-09__Release-Notes_日誌服務-阿裏雲
事務__常用指標_使用手冊_性能測試-阿裏雲
證書相關常見問題__常見問題_負載均衡-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲