用戶在OBS系統(tǒng)中創(chuàng)建了桶之后,可以采用PUT操作的方式將對(duì)象上傳到桶中。上傳對(duì)象操作是指在指定的桶內(nèi)增加一個(gè)對(duì)象,執(zhí)行該操作需要用戶擁有桶的寫權(quán)限。 說明: 同一個(gè)桶中存儲(chǔ)的對(duì)象名是唯一的。 在桶未開啟多版本的情況下,如果在指定的桶內(nèi)已經(jīng)有相同的對(duì)象鍵值的對(duì)象,用戶上傳的新對(duì)象會(huì)覆蓋原來的對(duì)象;為了確保數(shù)據(jù)在傳輸過程中沒有遭到破壞,用戶可以在請(qǐng)求消息頭中加入Content-MD5參數(shù)。在這種情況下,OBS收到上傳的對(duì)象后,會(huì)對(duì)對(duì)象進(jìn)行MD5校驗(yàn),如果不一致則返回出錯(cuò)信息。 用戶還可以在上傳對(duì)象時(shí)指定x-obs-acl參數(shù),設(shè)置對(duì)象的權(quán)限控制策略。如果匿名用戶在上傳對(duì)象時(shí)未指定x-obs-acl參數(shù),則該對(duì)象默認(rèn)可以被所有OBS用戶訪問。 該操作支持服務(wù)端加密功能。 單次上傳對(duì)象大小范圍是[0, 5GB],如果需要上傳超過5GB的大文件,需要通過多段操作來分段上傳。 OBS沒有文件夾的概念。為了使用戶更方便進(jìn)行管理數(shù)據(jù),OBS提供了一種方式模擬文件夾:通過在對(duì)象的名稱中增加“/”,例如“test/123.jpg”。此時(shí),“test”就被模擬成了一個(gè)文件夾,“123.jpg”則模擬成“test”文件夾下的文件名了,而實(shí)際上,對(duì)象名稱(Key)仍然是“test/123.jpg”。此類命名方式的對(duì)象,在控制臺(tái)上會(huì)以文件夾的形式展示。
與POST上傳的區(qū)別 #### PUT上傳中參數(shù)通過請(qǐng)求頭域傳遞;POST上傳則作為消息體中的表單域傳遞。
PUT上傳需在URL中指定對(duì)象名;POST上傳提交的URL為桶域名,無需指定對(duì)象名。兩者的請(qǐng)求行分別為: PUT /ObjectName HTTP/1.1 POST / HTTP/1.1 關(guān)于POST上傳的更多詳細(xì)信息,請(qǐng)參考POST上傳。
多版本 #### 如果桶的多版本狀態(tài)是開啟的,系統(tǒng)會(huì)自動(dòng)為對(duì)象生成一個(gè)唯一的版本號(hào),并且會(huì)在響應(yīng)報(bào)頭x-obs-version-id返回該版本號(hào)。如果桶的多版本狀態(tài)是暫停的,則對(duì)象的版本號(hào)為null。關(guān)于桶的多版本狀態(tài),參見設(shè)置桶的多版本狀態(tài)。
| 名稱 | 類型 | IN | 必選 | 描述 |
|---|---|---|---|---|
|
Authorization
|
string | header | 是 |
請(qǐng)求消息中可帶的簽名信息。 |
|
Date
|
string | header | 否 |
請(qǐng)求發(fā)起端的日期和時(shí)間,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默認(rèn)值:無。 條件:如果消息頭中帶了x-obs-date字段,則可以不帶該字段,其他情況下必選。 |
|
Content-MD5
|
string | header | 否 |
按照RFC 1864標(biāo)準(zhǔn)計(jì)算出消息體的MD5摘要字符串,即消息體128-bit MD5值經(jīng)過base64編碼后得到的字符串 示例:n58IG6hfM7vqI4K0vnWpog==。 |
|
x-obs-acl
|
string | header | 否 |
創(chuàng)建對(duì)象時(shí),可以加上此消息頭設(shè)置對(duì)象的權(quán)限控制策略,使用的策略為預(yù)定義的常用策 示例:x-obs-acl: public-read。 |
|
x-obs-grant-read
|
string | header | 否 |
創(chuàng)建對(duì)象時(shí),使用此頭域授權(quán)租戶下所有用戶有讀對(duì)象和獲取對(duì)象元數(shù)據(jù)的權(quán)限 示例:x-obs-grant-read: id=domainID。如果授權(quán)給多個(gè)租戶,需要通過','分割。 |
|
x-obs-grant-read-acp
|
string | header | 否 |
創(chuàng)建對(duì)象時(shí),使用此頭域授權(quán)租戶下所有用戶有獲取對(duì)象ACL的權(quán)限 示例:x-obs-grant-read-acp: id=domainID。如果授權(quán)給多個(gè)租戶,需要通過','分割。 |
|
x-obs-grant-write-acp
|
string | header | 否 |
創(chuàng)建對(duì)象時(shí),使用此頭域授權(quán)租戶下所有用戶有寫對(duì)象ACL的權(quán) 示例:x-obs-grant-write-acp: id=domainID。如果授權(quán)給多個(gè)租戶,需要通過','分割。 |
|
x-obs-grant-full-control
|
string | header | 否 |
創(chuàng)建對(duì)象時(shí),使用此頭域授權(quán)domain下所有用戶有讀對(duì)象、獲取對(duì)象元數(shù)據(jù)、獲取對(duì)象ACL、寫對(duì)象ACL的權(quán)限 示例:x-obs-grant-full-control: id=domainID。如果授權(quán)給多個(gè)租戶,需要通過','分割。 |
|
x-obs-storage-class
|
string | header | 否 |
創(chuàng)建對(duì)象時(shí),可以加上此頭域設(shè)置對(duì)象的存儲(chǔ)類型。如果未設(shè)置此頭域,則以桶的默認(rèn)存儲(chǔ)類型作為對(duì)象的存儲(chǔ)類型 說明:存儲(chǔ)類型有3種:STANDARD(標(biāo)準(zhǔn)存儲(chǔ))、WARM(低頻訪問存儲(chǔ))、COLD(歸檔存儲(chǔ))。因此這里可配置的值有:STANDARD、WARM和COLD,注意大小寫敏感。 示例:x-obs-storage-class: STANDARD |
|
x-obs-meta-xxx
|
string | header | 否 |
用戶自定義元數(shù)據(jù) 示例:x-obs-meta-test: test metadata |
|
x-obs-persistent-headers
|
string | header | 否 |
創(chuàng)建對(duì)象時(shí),可以在HTTP請(qǐng)求中加入“x-obs-persistent-headers”消息頭,用來加入一個(gè)或多個(gè)自定義的響應(yīng)頭,當(dāng)用戶獲取此對(duì)象或查詢此對(duì)象元數(shù)據(jù)時(shí),加入的自定義響應(yīng)頭將會(huì)在返回消息的頭域中出現(xiàn)。 格式:x-obs-persistent-headers: key1:base64_encode(value1),key2:base64_encode(value2).... 說明:其中key1/key2等為自定義header,若含有非ASCII碼或不可識(shí)別字符,可以采用URL編碼或者Base64編碼,服務(wù)端只會(huì)作為字符串處理,不會(huì)做解碼。value1/value2等為對(duì)應(yīng)自定義header的值,base64_encode指做base64編碼,即將自定義header和對(duì)應(yīng)值的base64編碼作為一個(gè)key-value對(duì)用“:”連接,然后用“,”將所有的key-value對(duì)連接起來,放在x-obs-persistent-headers這個(gè)header中即可,服務(wù)端會(huì)對(duì)上傳的value做解碼處理。 示例: x-obs-persistent-headers: key1:dmFsdWUx,key2:dmFsdWUy 下載此對(duì)象或獲取此對(duì)象元數(shù)據(jù)時(shí):返回兩個(gè)頭域分別為“key1:value1”與“key2:value2” 約束:
|
|
x-obs-website-redirect-location
|
string | header | 否 |
當(dāng)桶設(shè)置了Website配置,可以將獲取這個(gè)對(duì)象的請(qǐng)求重定向到桶內(nèi)另一個(gè)對(duì)象或一個(gè)外部的URL,OBS將這個(gè)值從頭域中取出,保存在對(duì)象的元數(shù)據(jù)中。 例如,重定向請(qǐng)求到桶內(nèi)另一對(duì)象: x-obs-website-redirect-location:/anotherPage.html 或重定向請(qǐng)求到一個(gè)外部URL: x-obs-website-redirect-location:http://www.example.com/ 默認(rèn)值:無 約束:必須以“/”、“http://”或“https://”開頭,長(zhǎng)度不超過2KB。 |
|
x-obs-server-side-encryption
|
string | header | 否 |
使用該頭域表示服務(wù)端加密是SSE-KMS方式。 示例:x-obs-server-side-encryption: kms |
|
x-obs-server-side-encryption-kms-key-id
|
string | header | 否 |
SSE-KMS方式下使用該頭域,該頭域表示主密鑰,如果用戶沒有提供該頭域,那么默認(rèn)的主密鑰將會(huì)被使用。 支持兩種格式的描述方式:
或者 2.key_id 其中regionID是使用密鑰所屬region的ID;domainID是使用密鑰所屬租戶的租戶ID;key_id是從 數(shù)據(jù)加密 服務(wù)創(chuàng)建的密鑰ID。 示例:
|
|
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一起使用。 |
|
x-obs-server-side-encryption-customer-key
|
string | header | 否 |
SSE-C方式下使用該頭域,該頭域表示加密使用的密鑰。該密鑰用于加密對(duì)象 示例:x-obs-server-side-encryption-customer-key:K7QkYpBkM5+hca27fsNkUnNVaobncnLht/rCB2o/9Cw= 約束:該頭域由256-bit的密鑰經(jīng)過base64-encoded得到,需要和x-obs-server-side-encryption-customer-algorithm,x-obs-server-side-encryption-customer-key-MD5一起使用。 |
|
x-obs-server-side-encryption-customer-key-MD5
|
string | header | 否 |
SSE-C方式下使用該頭域,該頭域表示加密使用的密鑰的MD5值。MD5值用于驗(yàn)證密鑰傳輸過程中沒有出錯(cuò)。 示例: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一起使用。 |
|
success-action-redirect
|
string | header | 否 |
此參數(shù)的值是一個(gè)URL,用于指定當(dāng)此次請(qǐng)求操作成功響應(yīng)后的重定向的地址。 如果此參數(shù)值有效且操作成功,響應(yīng)碼為303,Location頭域由此參數(shù)以及桶名、對(duì)象名、對(duì)象的ETag組成。 如果此參數(shù)值無效,則OBS忽略此參數(shù)的作用,響應(yīng)碼為204,Location頭域?yàn)閷?duì)象地址。 |
|
x-obs-expires
|
integer | header | 否 |
表示對(duì)象的過期時(shí)間,單位是天。過期之后對(duì)象會(huì)被自動(dòng)刪除。(從對(duì)象最后修改時(shí)間開始計(jì)算) 此字段對(duì)于每個(gè)對(duì)象僅支持上傳時(shí)配置,不支持后期通過修改元數(shù)據(jù)接口修改。 示例:x-obs-expires:3 |
|
object_key
|
string | path | 是 |
通過此請(qǐng)求創(chuàng)建的對(duì)象名稱。 |
|
bucket_name
|
string | query | 是 |
桶名稱 |
| 名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
|
值
|
file | 否 |
成功響應(yīng)消息。
| 名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
|
Content-Length
|
string | 否 |
響應(yīng)消息體的字節(jié)長(zhǎng)度。 |
|
Connection
|
string | 否 |
指明與服務(wù)器的連接是長(zhǎng)連接還是短連接。 |
|
Date
|
string | 否 |
OBS系統(tǒng)響應(yīng)的時(shí)間。 |
|
ETag
|
string | 否 |
對(duì)象的base64編碼的128位MD5摘要。ETag是對(duì)象內(nèi)容的唯一標(biāo)識(shí),可以通過該值識(shí)別對(duì)象內(nèi)容是否有變化。比如上傳對(duì)象時(shí)ETag為A,下載對(duì)象時(shí)ETag為B,則說明對(duì)象內(nèi)容發(fā)生了變化。實(shí)際的ETag是對(duì)象的哈希值。ETag只反映變化的內(nèi)容,而不是其元數(shù)據(jù)。上傳的對(duì)象或拷貝操作創(chuàng)建的對(duì)象,通過MD5加密后都有唯一的ETag。如果通過多段上傳對(duì)象,則無論加密方法如何,MD5會(huì)拆分ETag,此類情況ETag就不是MD5的摘要。 |
|
x-obs-id-2
|
string | 否 |
幫助定位問題的特殊符號(hào)。 |
|
x-obs-request-id
|
string | 否 |
由OBS創(chuàng)建來唯一確定本次請(qǐng)求的值,可以通過該值來定位問題。 |
|
x-obs-version-id
|
string | 否 |
對(duì)象的版本號(hào)。如果桶的多版本狀態(tài)為開啟,則會(huì)返回對(duì)象的版本號(hào)。 |
|
x-obs-server-side-encryption
|
string | 否 |
如果服務(wù)端加密是SSE-KMS方式,響應(yīng)包含該頭域。 |
|
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-customer-algorithm
|
string | 否 |
如果服務(wù)端加密是SSE-C方式,響應(yīng)包含該頭域,該頭域表示加密使用的算法。 |
|
x-obs-server-side-encryption-customer-key-MD5
|
string | 否 |
如果服務(wù)端加密是SSE-C方式,響應(yīng)包含該頭域,該頭域表示加密使用的密鑰的MD5值。 |
|
x-obs-storage-class
|
string | 否 |
對(duì)象為非標(biāo)準(zhǔn)存儲(chǔ)對(duì)象時(shí),會(huì)返回此頭域,可取值為:WARM或者COLD |
請(qǐng)求失敗響應(yīng)消息。
| 名稱 | 類型 | 必選 | 描述 |
|---|---|---|---|
|
Code
|
string | 否 |
錯(cuò)誤響應(yīng)消息體XML中錯(cuò)誤響應(yīng)對(duì)應(yīng)的HTTP消息返回碼,具體的錯(cuò)誤碼請(qǐng)參見錯(cuò)誤碼-表2。 |
|
Message
|
string | 否 |
錯(cuò)誤響應(yīng)消息體XML中具體錯(cuò)誤更全面、詳細(xì)的英文解釋,具體的錯(cuò)誤消息請(qǐng)參見錯(cuò)誤碼-表2。 |
|
RequestId
|
string | 否 |
本次錯(cuò)誤請(qǐng)求的請(qǐng)求ID,用于錯(cuò)誤定位。 |
|
HostId
|
string | 否 |
返回該消息的服務(wù)端ID。 |
|
Resource
|
string | 否 |
該錯(cuò)誤相關(guān)的桶或?qū)ο筚Y源。 |
上傳對(duì)象
上傳對(duì)象的同時(shí)設(shè)置ACL
桶開啟多版本時(shí)上傳對(duì)象
上傳對(duì)象時(shí)攜帶MD5
桶設(shè)置了Website配置,上傳對(duì)象時(shí)設(shè)置下載對(duì)象時(shí)重定向
在URL中攜帶簽名并上傳對(duì)象
上傳指定存儲(chǔ)類型的對(duì)象
最新文章
- 對(duì)象存儲(chǔ)服務(wù)請(qǐng)求費(fèi)用_對(duì)象存儲(chǔ)服務(wù)收費(fèi)_對(duì)象存儲(chǔ)服務(wù)費(fèi)用問題
- 對(duì)象存儲(chǔ)收費(fèi)_對(duì)象存儲(chǔ)特點(diǎn)_什么是對(duì)象存儲(chǔ)
- OBS對(duì)象存儲(chǔ)費(fèi)用_對(duì)象存儲(chǔ)收費(fèi)_對(duì)象存儲(chǔ)計(jì)費(fèi)模式
- 對(duì)象存儲(chǔ)收費(fèi)嗎_對(duì)象存儲(chǔ)是什么_華為云對(duì)象存儲(chǔ)
- 對(duì)象存儲(chǔ)怎么用_對(duì)象存儲(chǔ)OBS使用_OBS對(duì)象存儲(chǔ)直播教程
- OBS對(duì)象存儲(chǔ)是免費(fèi)的嗎_對(duì)象存儲(chǔ)服務(wù)_對(duì)象存儲(chǔ)如何使用
