追加寫(xiě)對(duì)象操作是指在指定桶內(nèi)的一個(gè)對(duì)象尾追加上傳數(shù)據(jù),不存在相同對(duì)象鍵值的對(duì)象則創(chuàng)建新對(duì)象。
通過(guò)Append Object操作創(chuàng)建的Object類(lèi)型為Appendable Object,而通過(guò)Put Object上傳的Object是Normal Object。
說(shuō)明: 用戶(hù)上傳的 對(duì)象存儲(chǔ) 在桶中。用戶(hù)必須對(duì)桶有WRITE權(quán)限,才可以在桶中上傳對(duì)象。同一個(gè)桶中存儲(chǔ)的對(duì)象名必須是唯一的。
為了確保數(shù)據(jù)在傳輸過(guò)程中沒(méi)有遭到破壞,用戶(hù)可以在請(qǐng)求消息頭中加入Content-MD5參數(shù),OBS收到上傳數(shù)據(jù)后,會(huì)對(duì)數(shù)據(jù)進(jìn)行MD5校驗(yàn),如果不一致則返回出錯(cuò)信息。
該操作支持在創(chuàng)建Appendable對(duì)象時(shí)指定x-obs-acl參數(shù),設(shè)置對(duì)象的權(quán)限控制策略。
該操作支持服務(wù)端加密功能。
| 名稱(chēng) | 類(lèi)型 | IN | 必選 | 描述 |
|---|---|---|---|---|
|
Authorization
|
string | header | 是 |
請(qǐng)求消息中可帶的簽名信息。 |
|
Date
|
string | header | 否 |
請(qǐng)求發(fā)起端的日期和時(shí)間,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默認(rèn)值:無(wú)。 條件:如果消息頭中帶了x-obs-date字段,則可以不帶該字段,其他情況下必選。 |
|
x-obs-acl
|
string | header | 否 |
請(qǐng)求參數(shù)position=0時(shí),該請(qǐng)求可以使用的附加消息頭 第一次寫(xiě)時(shí),可以加上此消息頭設(shè)置對(duì)象的權(quán)限控制策略,使用的策略為預(yù)定義的常用策略,包括:private;public-read;public-read-write(各策略詳細(xì)說(shuō)明見(jiàn)ACL章節(jié)的“使用頭域設(shè)置ACL”)。 類(lèi)型:字符串 說(shuō)明:字符串形式的預(yù)定義策略。 |
|
x-obs-grant-read
|
string | header | 否 |
請(qǐng)求參數(shù)position=0時(shí),該請(qǐng)求可以使用的附加消息頭 第一次寫(xiě)時(shí),使用此頭域授權(quán)domain下所有用戶(hù)有讀對(duì)象和獲取對(duì)象元數(shù)據(jù)的權(quán)限。 |
|
x-obs-grant-read-acp
|
string | header | 否 |
請(qǐng)求參數(shù)position=0時(shí),該請(qǐng)求可以使用的附加消息頭 第一次寫(xiě)時(shí),使用此頭域授權(quán)domain下所有用戶(hù)有獲取對(duì)象ACL的權(quán)限。 |
|
x-obs-grant-write-acp
|
string | header | 否 |
請(qǐng)求參數(shù)position=0時(shí),該請(qǐng)求可以使用的附加消息頭 第一次寫(xiě)時(shí),使用此頭域授權(quán)domain下所有用戶(hù)有寫(xiě)對(duì)象ACL的權(quán)限。 |
|
x-obs-grant-full-control
|
string | header | 否 |
請(qǐng)求參數(shù)position=0時(shí),該請(qǐng)求可以使用的附加消息頭 第一次寫(xiě)時(shí),使用此頭域授權(quán)domain下所有用戶(hù)有讀對(duì)象、獲取對(duì)象元數(shù)據(jù)、獲取對(duì)象ACL、寫(xiě)對(duì)象ACL的權(quán)限。 |
|
x-obs-storage-class
|
string | header | 否 |
請(qǐng)求參數(shù)position=0時(shí),該請(qǐng)求可以使用的附加消息頭 第一次寫(xiě)時(shí),可以加上此頭域設(shè)置對(duì)象的存儲(chǔ)類(lèi)型。如果未設(shè)置此頭域,則以桶的默認(rèn)存儲(chǔ)類(lèi)型作為對(duì)象的存儲(chǔ)類(lèi)型。 類(lèi)型:字符串 說(shuō)明:雖然存儲(chǔ)類(lèi)型有3種:STANDARD(標(biāo)準(zhǔn)存儲(chǔ))、WARM(低頻訪(fǎng)問(wèn)存儲(chǔ))、COLD(歸檔存儲(chǔ)),但是冷對(duì)象不支持追加上傳,這里可配置的值只能是:STANDARD和WARM,注意大小寫(xiě)敏感。 示例:x-obs-storage-class:STANDA |
|
x-obs-meta-*
|
string | header | 否 |
請(qǐng)求參數(shù)position=0時(shí),該請(qǐng)求可以使用的附加消息頭 第一次寫(xiě)時(shí),可以在HTTP請(qǐng)求中加入以“x-obs-meta-”開(kāi)頭的消息頭,用來(lái)加入自定義的元數(shù)據(jù),以便對(duì)對(duì)象進(jìn)行自定義管理。當(dāng)用戶(hù)獲取此對(duì)象或查詢(xún)此對(duì)象元數(shù)據(jù)時(shí),加入的自定義元數(shù)據(jù)將會(huì)在返回消息的頭中出現(xiàn)。HTTP請(qǐng)求不包含消息體,長(zhǎng)度不能超過(guò)8KB。 類(lèi)型:字符串 示例:x-obs-meta-test:test metadata |
|
x-obs-persistent-headers
|
string | header | 否 |
請(qǐng)求參數(shù)position=0時(shí),該請(qǐng)求可以使用的附加消息頭 第一次寫(xiě)時(shí),可以在HTTP請(qǐng)求中加入“x-obs-persistent-headers”消息頭,用來(lái)加入一個(gè)或多個(gè)自定義的響應(yīng)頭,當(dāng)用戶(hù)獲取此對(duì)象或查詢(xún)此對(duì)象元數(shù)據(jù)時(shí),加入的自定義響應(yīng)頭將會(huì)在返回消息的頭域中出現(xiàn)。 類(lèi)型:字符串 格式:x-obs-persistent-headers: key1:base64_encode(value1),key2:base64_encode(value2).... 說(shuō)明:其中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ì)連接起來(lái),放在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 | 否 |
請(qǐng)求參數(shù)position=0時(shí),該請(qǐng)求可以使用的附加消息頭 當(dāng)桶設(shè)置了Website配置,可以將獲取這個(gè)對(duì)象的請(qǐng)求重定向到桶內(nèi)另一個(gè)對(duì)象或一個(gè)外部的URL,OBS將這個(gè)值從頭域中取出,保存在對(duì)象的元數(shù)據(jù)中。 類(lèi)型:字符串 默認(rèn)值:無(wú) 約束:必須以“/”、“http://”或“https://”開(kāi)頭,長(zhǎng)度不超過(guò)2K。 |
|
x-obs-expires
|
integer | header | 否 |
請(qǐng)求參數(shù)position=0時(shí),該請(qǐng)求可以使用的附加消息頭 表示對(duì)象的過(guò)期時(shí)間,單位是天。過(guò)期之后對(duì)象會(huì)被自動(dòng)刪除。(從對(duì)象最后修改時(shí)間開(kāi)始計(jì)算) |
|
x-obs-server-side-encryption
|
string | header | 否 |
使用該頭域表示服務(wù)端加密是SSE-KMS方式。 示例:x-obs-server-side-encryption:kms 當(dāng)使用SSE-KMS方式時(shí),必選。 |
|
x-obs-server-side-encryption-kms-key-id
|
string | header | 否 |
SSE-KMS方式下使用該頭域,該頭域表示主密鑰,如果用戶(hù)沒(méi)有提供該頭域,那么默認(rèn)的主密鑰將會(huì)被使用。 類(lèi)型:字符串 支持兩種格式的描述方式:
或者 2.key_id 其中regionID是使用密鑰所屬region的ID;domainID是使用密鑰所屬租戶(hù)的租戶(hù)ID;key_id是從 數(shù)據(jù)加密 服務(wù)創(chuàng)建的密鑰ID。 示例:
|
|
x-obs-server-side-encryption-customer-algorithm
|
string | header | 否 |
SSE-C方式下使用該頭域,該頭域表示加密使用的算法。 類(lèi)型:字符串 示例:x-obs-server-side-encryption-customer-algorithm:AES256 約束:需要和x-obs-server-side-encryption-customer-key, x-obs-server-side-encryption-customer-key-MD5一起使用。 當(dāng)使用SSE-C方式時(shí),必選。 |
|
x-obs-server-side-encryption-customer-key
|
string | header | 否 |
SSE-C方式下使用該頭域,該頭域表示加密使用的密鑰。該密鑰用于加密對(duì)象。 類(lèi)型:字符串 示例:x-obs-server-side-encryption-customer-key:K7QkYpBkM5+hca27fsNkUnNVaobncnLht/rCB2o/9Cw= 約束:該頭域由256-bit的密鑰經(jīng)過(guò)base64-encoded得到,需要和x-obs-server-side-encryption-customer-algorithm,x-obs-server-side-encryption-customer-key-MD5一起使用。 當(dāng)使用SSE-C方式時(shí),必選。 |
|
x-obs-server-side-encryption-customer-key-MD5
|
string | header | 否 |
SSE-C方式下使用該頭域,該頭域表示加密使用的密鑰的MD5值。MD5值用于驗(yàn)證密鑰傳輸過(guò)程中沒(méi)有出錯(cuò)。 類(lèi)型:字符串 示例:x-obs-server-side-encryption-customer-key-MD5:4XvB3tbNTN+tIEVa0/fGaQ== 約束:該頭域由密鑰的128-bit MD5值經(jīng)過(guò)base64-encoded得到,需要和x-obs-server-side-encryption-customer-algorithm,x-obs-server-side-encryption-customer-key一起使用。 當(dāng)使用SSE-C方式時(shí),必選。 |
|
object_key
|
string | path | 是 |
追加寫(xiě)的對(duì)象名稱(chēng)。 |
|
bucket_name
|
string | query | 是 |
請(qǐng)求的桶名稱(chēng)。 |
|
append
|
string | query | 是 |
append表示以追加寫(xiě)方式上傳對(duì)象。 |
|
position
|
integer | query | 是 |
追加寫(xiě)位置。需要追加寫(xiě)的對(duì)象首次上傳時(shí)就必須指定position為0,下次追加需要填寫(xiě)的position會(huì)在服務(wù)端本次上傳成功返回消息的頭域x-obs-next-append-position中攜帶。 |
| 名稱(chēng) | 類(lèi)型 | 必選 | 描述 |
|---|---|---|---|
|
值
|
file | 否 |
請(qǐng)求成功響應(yīng)消息。
| 名稱(chēng) | 類(lèi)型 | 必選 | 描述 |
|---|---|---|---|
|
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í),可以通過(guò)該值識(shí)別對(duì)象內(nèi)容是否有變化。比如上傳對(duì)象時(shí)ETag為A,下載對(duì)象時(shí)ETag為B,則說(shuō)明對(duì)象內(nèi)容發(fā)生了變化。實(shí)際的ETag是對(duì)象的哈希值。ETag只反映變化的內(nèi)容,而不是其元數(shù)據(jù)。上傳的對(duì)象或拷貝操作創(chuàng)建的對(duì)象,通過(guò)MD5加密后都有唯一的ETag。如果通過(guò)多段上傳對(duì)象,則無(wú)論加密方法如何,MD5會(huì)拆分ETag,此類(lèi)情況ETag就不是MD5的摘要。 |
|
x-obs-id-2
|
string | 否 |
幫助定位問(wèn)題的特殊符號(hào)。 |
|
x-obs-request-id
|
string | 否 |
由OBS創(chuàng)建來(lái)唯一確定本次請(qǐng)求的值,可以通過(guò)該值來(lái)定位問(wèn)題。 |
|
x-obs-version-id
|
string | 否 |
對(duì)象的版本號(hào)。如果桶的多版本狀態(tài)為開(kāi)啟,則會(huì)返回對(duì)象的版本號(hào)。 |
|
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)包含該頭域,該頭域表示主密鑰。 類(lèi)型:字符串 格式為: regionID:domainID(租戶(hù)ID):key/key_id 其中regionID是使用密鑰所屬region的ID;domainID是使用密鑰所屬租戶(hù)的租戶(hù)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)包含該頭域,該頭域表示加密使用的算法。 類(lèi)型:字符串 示例:x-obs-server-side-encryption-customer-algorithm:AES256 |
|
x-obs-server-side-encryption-customer-key-MD5
|
string | 否 |
如果服務(wù)端加密是SSE-C方式,響應(yīng)包含該頭域,該頭域表示加密使用的密鑰的MD5值。 類(lèi)型:字符串 示例:x-obs-server-side-encryption-customer-key-MD5:4XvB3tbNTN+tIEVa0/fGaQ== |
|
x-obs-next-append-position
|
integer | 否 |
指明下一次請(qǐng)求應(yīng)該提供的position。 |
請(qǐng)求失敗響應(yīng)消息。 除了公共的錯(cuò)誤碼外,此接口還會(huì)返回一些其他的錯(cuò)誤碼。下面列出本接口的一些常見(jiàn)錯(cuò)誤,以及可能原因。
| 錯(cuò)誤碼 | 描述 | HTTP狀態(tài)碼 |
|---|---|---|
| AppendTooLarge | 本次追加上傳使對(duì)象長(zhǎng)度超過(guò)對(duì)象長(zhǎng)度限制。 | 400 Bad Request |
| OperationNotSupported | 桶設(shè)置了跨區(qū)域復(fù)制配置,則不能調(diào)用該接口。 | 400 Bad Request |
| 名稱(chēng) | 類(lèi)型 | 必選 | 描述 |
|---|---|---|---|
|
Code
|
string | 否 |
錯(cuò)誤響應(yīng)消息體XML中錯(cuò)誤響應(yīng)對(duì)應(yīng)的HTTP消息返回碼,具體的錯(cuò)誤碼請(qǐng)參見(jiàn)錯(cuò)誤碼-表2。 |
|
Message
|
string | 否 |
錯(cuò)誤響應(yīng)消息體XML中具體錯(cuò)誤更全面、詳細(xì)的英文解釋,具體的錯(cuò)誤消息請(qǐng)參見(jiàn)錯(cuò)誤碼-表2。 |
|
RequestId
|
string | 否 |
本次錯(cuò)誤請(qǐng)求的請(qǐng)求ID,用于錯(cuò)誤定位。 |
|
HostId
|
string | 否 |
返回該消息的服務(wù)端ID。 |
|
Resource
|
string | 否 |
該錯(cuò)誤相關(guān)的桶或?qū)ο筚Y源。 |
請(qǐng)求失敗響應(yīng)消息。 除了公共的錯(cuò)誤碼外,此接口還會(huì)返回一些其他的錯(cuò)誤碼。下面列出本接口的一些常見(jiàn)錯(cuò)誤,以及可能原因。
| 錯(cuò)誤碼 | 描述 | HTTP狀態(tài)碼 |
|---|---|---|
| PositionNotEqualToLength | position的值和當(dāng)前對(duì)象的原始長(zhǎng)度不一致 | 409 Bad Request |
| ObjectNotAppendable | 指定桶中存在相同對(duì)象鍵值的對(duì)象,對(duì)象類(lèi)型非Appendable。 | 409 Bad Request |
| ObjectNotAppendable | 對(duì)象追加寫(xiě)次數(shù)超過(guò)10000次。 | 409 Bad Request |
| ObjectNotAppendable | 對(duì)象存儲(chǔ)類(lèi)型為Cold,則不能調(diào)用該接口。 | 409 Bad Request |
| 名稱(chēng) | 類(lèi)型 | 必選 | 描述 |
|---|---|---|---|
|
Code
|
string | 否 |
錯(cuò)誤響應(yīng)消息體XML中錯(cuò)誤響應(yīng)對(duì)應(yīng)的HTTP消息返回碼,具體的錯(cuò)誤碼請(qǐng)參見(jiàn)錯(cuò)誤碼-表2。 |
|
Message
|
string | 否 |
錯(cuò)誤響應(yīng)消息體XML中具體錯(cuò)誤更全面、詳細(xì)的英文解釋,具體的錯(cuò)誤消息請(qǐng)參見(jiàn)錯(cuò)誤碼-表2。 |
|
RequestId
|
string | 否 |
本次錯(cuò)誤請(qǐng)求的請(qǐng)求ID,用于錯(cuò)誤定位。 |
|
HostId
|
string | 否 |
返回該消息的服務(wù)端ID。 |
|
Resource
|
string | 否 |
該錯(cuò)誤相關(guān)的桶或?qū)ο筚Y源。 |
- 對(duì)象存儲(chǔ)與自建存儲(chǔ)服務(wù)器對(duì)比_OBS對(duì)象存儲(chǔ)的優(yōu)勢(shì)_OBS對(duì)象存儲(chǔ)好用的功能
- 對(duì)象存儲(chǔ)怎么用_對(duì)象存儲(chǔ)和文件存儲(chǔ)區(qū)別_華為云對(duì)象存儲(chǔ)服務(wù)器
- 什么是對(duì)象存儲(chǔ)_OBS對(duì)象存儲(chǔ)概念_華為云OBS是什么
- 對(duì)象存儲(chǔ)使用方式_OBS對(duì)象存儲(chǔ)操作指南_好用的云存儲(chǔ)
- 云硬盤(pán)與對(duì)象存儲(chǔ)的區(qū)別有什么_對(duì)象存儲(chǔ)部署方式有哪些
最新文章
- 對(duì)象存儲(chǔ)收費(fèi)_對(duì)象存儲(chǔ)特點(diǎn)_什么是對(duì)象存儲(chǔ)
- 對(duì)象存儲(chǔ)收費(fèi)嗎_對(duì)象存儲(chǔ)是什么_華為云對(duì)象存儲(chǔ)
- OBS對(duì)象存儲(chǔ)費(fèi)用_對(duì)象存儲(chǔ)收費(fèi)_對(duì)象存儲(chǔ)計(jì)費(fèi)模式
- 對(duì)象存儲(chǔ)怎么用_對(duì)象存儲(chǔ)OBS使用_OBS對(duì)象存儲(chǔ)直播教程
- OBS對(duì)象存儲(chǔ)是免費(fèi)的嗎_對(duì)象存儲(chǔ)服務(wù)_對(duì)象存儲(chǔ)如何使用
- OBS對(duì)象存儲(chǔ)優(yōu)點(diǎn)_華為云對(duì)象存儲(chǔ)試用_什么是對(duì)象存儲(chǔ)
