初始化上傳段任務(wù)
使用多段上傳特性時,用戶必須首先調(diào)用創(chuàng)建多段上傳任務(wù)接口創(chuàng)建任務(wù),系統(tǒng)會給用戶返回一個全局唯一的多段上傳任務(wù)號,作為任務(wù)標識。后續(xù)用戶可以根據(jù)這個標識發(fā)起相關(guān)的請求,如:上傳段、合并段、列舉段等。創(chuàng)建多段上傳任務(wù)不影響已有的同名對象;同一個對象可以同時存在多個多段上傳任務(wù);每個多段上傳任務(wù)在初始化時可以附加消息頭信息,包括acl、用戶自定義元數(shù)據(jù)和通用的HTTP消息頭contentType、contentEncoding等,這些附加的消息頭信息將先記錄在多段上傳任務(wù)元數(shù)據(jù)中。
該操作支持服務(wù)端加密功能
名稱 | 類型 | IN | 必選 | 描述 |
---|---|---|---|---|
Authorization
|
string | header | 是 |
請求消息中可帶的簽名信息。 |
Date
|
string | header | 否 |
請求發(fā)起端的日期和時間,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默認值:無。 條件:如果消息頭中帶了x-obs-date字段,則可以不帶該字段,其他情況下必選。 |
x-obs-acl
|
string | header | 否 |
初始化多段上傳任務(wù)時,可以加上此消息頭設(shè)置對象的權(quán)限控制策略,使用的策略為預(yù)定義的常用策略,包括:private;public-read;public-read-write(各策略詳細說明見ACL章節(jié)的“使用頭域設(shè)置ACL”) 說明:字符串形式的預(yù)定義策略。 實例x-obs-acl: public-read-write |
x-obs-grant-read
|
string | header | 否 |
初始化多段上傳任務(wù)時,使用此頭域授權(quán)domain下所有用戶有讀對象和獲取對象元數(shù)據(jù)的權(quán)限 實例x-obs-grant-read: ID=domainID。如果授權(quán)給多個租戶,需要通過','分割 |
x-obs-grant-read-acp
|
string | header | 否 |
初始化多段上傳任務(wù)時,使用此頭域授權(quán)domain下所有用戶有獲取對象ACL的權(quán)限 實例x-obs-grant-read-acp: ID=domainID。如果授權(quán)給多個租戶,需要通過','分割 |
x-obs-grant-write-acp
|
string | header | 否 |
初始化多段上傳任務(wù)時,使用此頭域授權(quán)domain下所有用戶有寫對象ACL的權(quán)限。 實例x-obs-grant-write-acp: ID=domainID。如果授權(quán)給多個租戶,需要通過','分割。 |
x-obs-grant-full-control
|
string | header | 否 |
初始化多段上傳任務(wù)時,使用此頭域授權(quán)domain下所有用戶有讀對象、獲取對象元數(shù)據(jù)、獲取對象ACL、寫對象ACL的權(quán)限。 實例x-obs-grant-full-control: ID=domainID。如果授權(quán)給多個租戶,需要通過','分割。 |
x-obs-storage-class
|
string | header | 否 |
初始化多段上傳任務(wù)時,可以加上此頭域設(shè)置對象的存儲類型。如果未設(shè)置此頭域,則以桶的默認存儲類型作為對象的存儲類型。 類型:字符串 說明:存儲類型有3種:STANDARD(標準存儲)、WARM(低頻訪問存儲)、COLD(歸檔存儲)。因此這里可配置的值有:STANDARD、WARM和COLD,注意大小寫敏感。 示例:x-obs-storage-class: STANDARD |
x-obs-persistent-headers
|
string | header | 否 |
初始化多段上傳任務(wù)時,可以在HTTP請求中加入“x-obs-persistent-headers”消息頭,用來加入一個或多個自定義的響應(yīng)頭,當完成合并段操作后,用戶獲取此對象或查詢此對象元數(shù)據(jù)時,加入的自定義響應(yīng)頭將會在返回消息的頭域中出現(xiàn)。 類型:字符串 格式:x-obs-persistent-headers: key1:base64_encode(value1),key2:base64_encode(value2).... 說明:其中key1/key2等為自定義header,若含有非ASCII碼或不可識別字符,可以采用URL編碼或者Base64編碼,服務(wù)端只會作為字符串處理,不會做解碼。value1/value2等為對應(yīng)自定義header的值,base64_encode指做base64編碼,即將自定義header和對應(yīng)值的base64編碼作為一個key-value對用“:”連接,然后用“,”將所有的key-value對連接起來,放在x-obs-persistent-headers這個header中即可,服務(wù)端會對上傳的value做解碼處理。 示例:x-obs-persistent-headers: key1:dmFsdWUx,key2:dmFsdWU 合并段后,下載此對象或獲取此對象元數(shù)據(jù)時:返回兩個頭域分別為“key1:value1”與“key2:value2” 約束:
|
x-obs-server-side-encryption
|
string | header | 否 |
使用該頭域表示服務(wù)端加密是SSE-KMS方式。 類型:字符串 示例:x-obs-server-side-encryption:kms 當使用SSE-KMS方式時,必選 |
x-obs-server-side-encryption-kms-key-id
|
string | header | 否 |
SSE-KMS方式下使用該頭域,該頭域表示主密鑰,如果用戶沒有提供該頭域,那么默認的主密鑰將會被使用。 類型:字符串 支持兩種格式的描述方式:
示例:
|
x-obs-server-side-encryption-customer-algorithm
|
string | header | 否 |
SSE-C方式下使用該頭域,該頭域表示加密使用的算法。 類型:字符串 示例:x-obs-server-side-encryption-customer-algorithm:AES256 約束:需要和x-obs-server-side-encryption-customer-key, x-obs-server-side-encryption-customer-key-MD5一起使用。 當使用SSE-C方式時,必選。 |
x-obs-server-side-encryption-customer-key
|
string | header | 否 |
SSE-C方式下使用該頭域,該頭域表示加密使用的密鑰。該密鑰用于加密對象。 類型:字符串 示例:x-obs-server-side-encryption-customer-key:K7QkYpBkM5+hcs27fsNkUnNVaobncnLht/rCB2o/9Cw= 約束:該頭域由256-bit的密鑰經(jīng)過base64-encoded得到,需要和x-obs-server-side-encryption-customer-algorithm,x-obs-server-side-encryption-customer-key-MD5一起使用。 當使用SSE-C方式時,必選。 |
x-obs-server-side-encryption-customer-key-MD5
|
string | header | 否 |
SSE-C方式下使用該頭域,該頭域表示加密使用的密鑰的MD5值。MD5值用于驗證密鑰傳輸過程中沒有出錯。 類型:字符串 示例:x-obs-server-side-encryption-customer-key-MD5:4XvB3tbNTN+tIEVa0/fGaQ== 約束:該頭域由密鑰的128-bit MD5值經(jīng)過base64-encoded得到,需要和x-obs-server-side-encryption-customer-algorithm,x-obs-server-side-encryption-customer-key一起使用。 當使用SSE-C方式時,必選。 |
x-obs-expires
|
integer | header | 否 |
表示對象的過期時間,單位是天。過期之后對象會被自動刪除。(從對象最后修改時間開始計算) 類型:整型。 示例:x-obs-expires:3 |
object_key
|
string | path | 是 |
通過此請求創(chuàng)建的對象名稱。 |
bucket_name
|
string | query | 是 |
桶名稱 |
uploads
|
string | query | 是 |
表明這是多段上傳任務(wù) |
encoding-type
|
string | query | 否 |
對響應(yīng)中的Key進行指定類型的編碼。如果Key包含xml 1.0標準不支持的控制字符,可通過設(shè)置encoding-type對響應(yīng)中的Key進行編碼。 |
請求成功響應(yīng)消息。
名稱 | 類型 | 必選 | 描述 |
---|---|---|---|
Content-Length
|
string | 否 |
響應(yīng)消息體的字節(jié)長度。 |
Connection
|
string | 否 |
指明與服務(wù)器的連接是長連接還是短連接。 |
Date
|
string | 否 |
OBS系統(tǒng)響應(yīng)的時間。 |
ETag
|
string | 否 |
對象的base64編碼的128位MD5摘要。ETag是對象內(nèi)容的唯一標識,可以通過該值識別對象內(nèi)容是否有變化。比如上傳對象時ETag為A,下載對象時ETag為B,則說明對象內(nèi)容發(fā)生了變化。實際的ETag是對象的哈希值。ETag只反映變化的內(nèi)容,而不是其元數(shù)據(jù)。上傳的對象或拷貝操作創(chuàng)建的對象,通過MD5加密后都有唯一的ETag。如果通過多段上傳對象,則無論加密方法如何,MD5會拆分ETag,此類情況ETag就不是MD5的摘要。 |
x-obs-id-2
|
string | 否 |
幫助定位問題的特殊符號。 |
x-obs-request-id
|
string | 否 |
由OBS創(chuàng)建來唯一確定本次請求的值,可以通過該值來定位問題。 |
x-obs-server-side-encryption
|
string | 否 |
如果服務(wù)端加密是SSE-KMS方式,響應(yīng)包含該頭域。 類型:字符串 示例:x-obs-server-side-encryption:kms |
x-obs-server-side-encryption-kms-key-id
|
string | 否 |
如果服務(wù)端加密是SSE-KMS方式,響應(yīng)包含該頭域,該頭域表示主密鑰。 類型:字符串 格式為: regionID:domainID(租戶ID):key/key_id 其中regionID是使用密鑰所屬region的ID;domainID是使用密鑰所屬租戶的租戶ID;key_id是本次加密使用的密鑰ID。 示例: x-obs-server-side-encryption-kms-key-id:cn-north-4:domainiddomainiddomainiddoma0001:key/4f1cd4de-ab64-4807-920a-47fc42e7f0d0 |
x-obs-server-side-encryption-customer-algorithm
|
string | 否 |
如果服務(wù)端加密是SSE-C方式,響應(yīng)包含該頭域,該頭域表示加密使用的算法。 類型:字符串 示例:x-obs-server-side-encryption-customer-algorithm:AES256 |
x-obs-server-side-encryption-customer-key-MD5
|
string | 否 |
如果服務(wù)端加密是SSE-C方式,響應(yīng)包含該頭域,該頭域表示加密使用的密鑰的MD5值。 類型:字符串 示例:x-obs-server-side-encryption-customer-key-MD5:4XvB3tbNTN+tIEVa0/fGaQ== |
名稱 | 類型 | 必選 | 描述 |
---|---|---|---|
Bucket
|
string | 否 |
多段上傳對象所在桶的桶名。 |
Key
|
string | 否 |
多段上傳對象的key。 |
UploadId
|
string | 否 |
多段上傳id,后面進行多段上傳時,利用這個id指定多段上傳任務(wù)。 |
EncodingType
|
string | 否 |
多段上傳對象Key的編碼類型。如果請求中設(shè)置了encoding-type,那響應(yīng)中的Key會被編碼。 |
請求失敗響應(yīng)消息。
請求失敗響應(yīng)消息。 除了公共的錯誤碼外,此接口還會返回一些其他的錯誤碼。下面列出本接口的一些常見錯誤,以及可能原因。
錯誤碼 | 描述 | HTTP狀態(tài)碼 |
---|---|---|
AccessDenied | AccessKey或簽名無效。 | 403 Forbidden |
AccessDenied | 用戶不具有指定桶的寫權(quán)限。 | 403 Forbidden |
請求失敗響應(yīng)消息。 除了公共的錯誤碼外,此接口還會返回一些其他的錯誤碼。下面列出本接口的一些常見錯誤,以及可能原因。
錯誤碼 | 描述 | HTTP狀態(tài)碼 |
---|---|---|
NoSuchBucket | 桶不存在。 | 404 Not Found |
初始化段
初始化段的同時攜帶ACL
請求成功響應(yīng)消息。