360
人物
UploadPartCopy__關於MultipartUpload的操作_API 參考_對象存儲 OSS-阿裏雲
Upload Part Copy通過從一個已存在的Object中拷貝數據來上傳一個Part。通過在Upload Part請求的基礎上增加一個Header:x-oss-copy-source來調用該接口。當拷貝一個大於1GB的文件時,必須使用Upload Part Copy的方式進行拷貝。如果想通過單個操作拷貝小於1GB的文件,可以參考Copy Object。
請求語法
PUT /ObjectName? partNumber=PartNumber&uploadId=UploadId HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Content-Length: Size
Authorization: SignatureValue
x-oss-copy-source: /SourceBucketName/SourceObjectName
x-oss-copy-source-range:bytes=first-last
請求Header
除了通用的請求Header,Upload Part Copy請求中通過下述Header指定拷貝的源Object地址和拷貝的範圍。
名稱 | 描述 |
---|---|
x-oss-copy-source | 複製源地址(必須有可讀權限) 類型:字符串 默認值:無 |
x-oss-copy-source-range | 源Object的拷貝範圍。如,設定 bytes=0-9,表示傳送第0到第9這10個字符。 當拷貝整個源Object時不需要該請求Header。 類型:整型 默認值:無 |
下述請求Header作用於x-oss-copy-source指定的源Object。
名稱 | 描述 |
---|---|
x-oss-copy-source-if-match | 如果源Object的ETAG值和用戶提供的ETAG相等,則執行拷貝操作;否則返回412 HTTP錯誤碼(預處理失敗)。 類型:字符串 默認值:無 |
x-oss-copy-source-if-none-match | 如果源Object自從用戶指定的時間以後就沒有被修改過,則執行拷貝操作;否則返回412 HTTP錯誤碼(預處理失敗)。 類型:字符串 默認值:無 |
x-oss-copy-source-if-unmodified-since | 如果傳入參數中的時間等於或者晚於文件實際修改時間,則正常傳輸文件,並返回200 OK;否則返回412 precondition failed錯誤。 類型:字符串 默認值:無 |
x-oss-copy-source-if-modified-since | 如果源Object自從用戶指定的時間以後被修改過,則執行拷貝操作;否則返回412 HTTP錯誤碼(預處理失敗)。 類型:字符串 默認值:無 |
響應元素(Response Elements)
名稱 | 描述 |
---|---|
x-oss-copy-source-if-match | 如果源Object的ETAG值和用戶提供的ETAG相等,則執行拷貝操作;否則返回412 HTTP錯誤碼(預處理失敗)。 類型:字符串 默認值:無 |
x-oss-copy-source-if-none-match | 如果源Object自從用戶指定的時間以後就沒有被修改過,則執行拷貝操作;否則返回412 HTTP錯誤碼(預處理失敗)。 類型:字符串 默認值:無 |
x-oss-copy-source-if-unmodified-since | 如果傳入參數中的時間等於或者晚於文件實際修改時間,則正常傳輸文件,並返回200 OK;否則返回412 precondition failed錯誤。 類型:字符串 默認值:無 |
x-oss-copy-source-if-modified-since | 如果源Object自從用戶指定的時間以後被修改過,則執行拷貝操作;否則返回412 HTTP錯誤碼(預處理失敗)。 類型:字符串 默認值:無 |
細節分析
- 調用該接口上傳Part數據前,必須調用Initiate Multipart Upload接口,獲取一個OSS服務器頒發的Upload ID。
- Multipart Upload要求除最後一個Part以外,其他的Part大小都要大於100KB。但是Upload Part接口並不會立即校驗上傳Part的大小(因為不知道是否為最後一塊);隻有當Complete Multipart Upload的時候才會校驗。
- 不指定x-oss-copy-source-range請求頭時,表示拷貝整個源Object。當指定該請求頭時,則返回消息中會包含整個文件的長度和此次拷貝的範圍,例如:Content-Range: bytes 0-9/44,表示整個文件長度為44,此次拷貝的範圍為0-9。當指定的範圍不符合範圍規範時,則拷貝整個文件,並且不在結果中提及Content-Range。
- 若調用Initiate Multipart Upload接口時,指定了x-oss-server-side-encryption請求頭,則會對上傳的Part進行加密編碼,並在Upload Part響應頭中返回x-oss-server-side-encryption頭,其值表明該Part的服務器端加密算法,具體見Initiate Multipart Upload接口。
- 該操作不能拷貝通過Append追加上傳方式產生的object。
示例
請求示例:
PUT /multipart.data?partNumber=1&uploadId=0004B9895DBBB6EC98E36 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 qn6qrrqxo2oawuk53otfjbyc:J/lICfXEvPmmSW86bBAfMmUmWjI=
x-oss-copy-source: /oss-example/ src-object
x-oss-copy-source-range:bytes=100-6291756
返回示例:
HTTP/1.1 200 OK
Server: AliyunOSS
Connection: keep-alive
x-oss-request-id: 3e6aba62-1eae-d246-6118-8ff42cd0c21a
Date: Thu, 17 Jul 2014 06:27:54 GMT'
<?xml version="1.0" encoding="UTF-8"?>
<CopyPartResult xmlns=”https://doc.oss-cn-hangzhou.aliyuncs.com”>
<LastModified>2014-07-17T06:27:54.000Z </LastModified>
<ETag>"5B3C1A2E053D763E1B002CC607C5A0FE"</ETag>
</CopyPartResult>
最後更新:2016-11-23 17:16:08
上一篇:
UploadPart__關於MultipartUpload的操作_API 參考_對象存儲 OSS-阿裏雲
下一篇:
CompleteMultipartUpload__關於MultipartUpload的操作_API 參考_對象存儲 OSS-阿裏雲
VirtualMFADevice__數據類型_RAM API文檔_訪問控製-阿裏雲
視頻播放__使用手冊_視頻點播-阿裏雲
創建作業__SDK接口說明_Python版SDK_批量計算-阿裏雲
阿裏雲最新報告:中國SaaS企業將彎道超車
刪除編排模板__鏡像與模板管理_用戶指南_容器服務-阿裏雲
字符串類型__數據類型_SQL語法參考_雲數據庫 OceanBase-阿裏雲
UNIX虛擬主機PHP-Rewrite測試程序__網站訪問異常_技術分享_雲虛機主機-阿裏雲
UpdateTable__API 概覽_API 參考_表格存儲-阿裏雲
下拉提示操作__JavaSDK手冊_SDK參考手冊_開放搜索-阿裏雲
添加轉碼配置__直播流操作接口_API 手冊_CDN-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲