華為云計算 云知識 獲取桶的鏡像回源規(guī)則GetBucketMirrorBackToSource
獲取桶的鏡像回源規(guī)則GetBucketMirrorBackToSource

 

接口說明

本接口用于查詢指定桶的 鏡像 回源策略。若策略存在,則返回成功,status code返回值為200。

URL
GET  https://obs.cn-north-4.myhuaweicloud.com/ 
請求參數(shù)
名稱 類型 IN 必選 描述
Authorization
 
string header

請求消息中可帶的簽名信息。

Date
 
string header

請求發(fā)起端的日期和時間,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默認值:無。 條件:如果消息頭中帶了x-obs-date字段,則可以不帶該字段,其他情況下必選。

bucket_name
 
string query

請求的桶名稱。

mirrorBackToSource
 
string query

mirrorBackToSource表示請求桶的鏡像回源規(guī)則API。

返回參數(shù)
返回碼: 200

請求成功響應消息。

名稱 類型 必選 描述
Content-Length
 
string

響應消息體的字節(jié)長度。

Connection
 
string

指明與服務器的連接是長連接還是短連接。

Date
 
string

OBS系統(tǒ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)建來唯一確定本次請求的值,可以通過該值來定位問題。

名稱 類型 必選 描述
BucketLoggingStatus
 
SetBucketMirrorBackToSourceRequestBody object  
200 BucketLoggingStatus
名稱 類型 必選 描述
rules
 
Array of rules objects

策略規(guī)則數(shù)組。 說明: 同一個桶下的不同策略前綴不能重復和起始包含,委托建議使用同一個。

200 BucketLoggingStatus.rules
名稱 類型 必選 描述
id
 
string

規(guī)則ID。當前桶上配置的鏡像回源規(guī)則的唯一標識。 取值范圍:[1, 256],滿足“^[a-zA-Z0-9_-]{1, 256}$”

condition
 
condition object

觸發(fā)回源功能的條件。

redirect
 
redirect object

回源功能主要參數(shù)。

200 BucketLoggingStatus.rules.condition
名稱 類型 必選 描述
httpErrorCodeReturnedEquals
 
string

觸發(fā)回源功能的錯誤碼。當下載請求返回此錯誤碼時,會觸發(fā)回源功能。

objectKeyPrefixEquals
 
string

觸發(fā)回源功能的對象名前綴。當觸發(fā)回源的請求里對象名滿足此前綴,才會繼續(xù)執(zhí)行回源功能。當前綴配置為空時,默認所有對象都匹配。同一個桶上多條規(guī)則的前綴之間不允許重復和起始包含。 有效值:長度[0, 1023],值允許為任意字符

200 BucketLoggingStatus.rules.redirect
名稱 類型 必選 描述
agency
 
string

委托名。客戶通過委托賦予OBS服務查詢用戶桶內(nèi)指定對象是否存在以及向用戶桶內(nèi)上傳對象的權(quán)限。

publicSource
 
publicSource object

公共可訪問源端配置。當源端為公共可訪問的資源時,必選。

retryConditions
 
Array of strings

回源地址切換的條件。

類型:數(shù)組

取值范圍:4XX,5XX以及400~499,500~599等具體錯誤碼

說明: 4XX和4開頭的具體錯誤碼不能同時配置,5XX和5開頭的錯誤碼不能同時配置。

最大支持同時配置20個錯誤碼

passQueryString
 
boolean

是否攜帶請求字符串。如果是true,會將OBS請求中的queryString傳遞到源站。否則,則不會將queryString傳遞到源站。 該值默認值是false,如果設置為false則會忽略。

說明: 如果是true,但query里有簽名信息,則將簽名信息去掉,剩余參數(shù)再傳遞。

mirrorFollowRedirect
 
boolean

是否跟隨源站3xx重定向請求獲取到資源。如果是true,跟隨源站3xx重定向請求獲取到資源。否則,OBS會透傳3XX響應,不獲取資源。該值默認值是false,如果設置為false則會忽略。

redirectWithoutReferer
 
boolean

是否將原h(huán)ost作為referer頭域攜帶到重定向的目的地址去。false為需要攜帶, true為不攜帶。

mirrorAllowHttpMethod
 
Array of strings

需要透傳的http請求的類型,如HEAD,目前只支持HEAD

mirrorHttpHeader
 
mirrorHttpHeader object

HTTP header傳遞規(guī)則。

replaceKeyWith
 
string

添加前后綴。去源端下載對象的時候,如果需要添加前綴或后綴,則修改此項配置為prefix${key}suffix。如果不需要增加前后綴,則配置為${key}。

取值范圍:prefix${key}suffix。

${key}為關(guān)鍵字,prefix為要添加的前綴,suffix為要添加的后綴。同時prefix和suffix的總長度[0, 1023]

replaceKeyPrefixWith
 
string

替換前綴objectKeyPrefixEquals的字符串。如果去源端下載對象時,需要替換當前的對象名前綴,則修改此項配置。

如果replaceKeyWith和ReplaceKeyPrefixWith同時為空,則ReplaceKeyPrefixWith生效。同時非空為非法請求。

類型:字符串

取值范圍:長度[0, 1023]

vpcEndpointURN
 
string

終端節(jié)點服務的URN。 取值范圍:長度[0, 127]

200 BucketLoggingStatus.rules.redirect.publicSource
名稱 類型 必選 描述
sourceEndpoint
 
sourceEndpoint object

公共可訪問的源端地址。

200 BucketLoggingStatus.rules.redirect.publicSource.sourceEndpoint
名稱 類型 必選 描述
master
 
Array of strings

主源端地址。如果源端為HTTP公共可訪問的桶,則此地址為桶域名地址。如果源端為其他云廠商的私有桶,則此地址為區(qū)域域名地址。

有效取值:單個源站地址格式為https|http://xxx.yyy.zzz,長度為[10, 255]

說明: 回源時會優(yōu)先使用主源站地址,如果同時配置多個主地址,會輪詢訪問所有主地址。如果配置2個及以上主地址,第一次請求主地址失敗,并且滿足重試條件時,會選用另一個主地址重試一次。 至少配置一個主地址。 最多同時配置5個主地址。

slave
 
Array of strings

備源端地址。如果源端為HTTP公共可訪問的桶,則此地址為桶域名地址。如果源端為其他云廠商的私有桶,則此地址為區(qū)域域名地址。

有效取值:單個源站地址格式為https|http://xxx.yyy.zzz,長度為[10, 255]

說明: 主地址回源失敗時,會選用一個備地址進行重試。 最多同時配置5個備地址。

200 BucketLoggingStatus.rules.redirect.mirrorHttpHeader
名稱 類型 必選 描述
passAll
 
boolean

是否透傳全部HTTP header到源端。

以下HTTP header類型不支持透傳: 1.以下前綴開頭的header: x-obs- x-amz-

2.所有標準HTTP header,例如: Content-Length Authorization Date passAll與pass互斥。

pass
 
Array of strings

指定透傳的HTTP header列表。

取值范圍:最大10個,每個長度[1, 63],key只支持字母(大小寫)、數(shù)字、中劃線、下劃線

remove
 
Array of strings

不允許透傳的HTTP header列表。 remove優(yōu)先級高于pass和passAll。

取值范圍:最大10個,每個長度[1, 63],key只支持字母(大小寫)、數(shù)字、中劃線、下劃線

set
 
Array of set objects

設置透傳的HTTP header值列表。 set優(yōu)先級高于remove,pass和passAll。 如果自定義頭域中包含了Referer頭域,必須將redirectWithoutReferer設置為true,不然會被覆蓋

取值范圍:最大10個

200 BucketLoggingStatus.rules.redirect.mirrorHttpHeader.set
名稱 類型 必選 描述
key
 
string

設置需要透傳HTTP header的關(guān)鍵字。

多條key之間不允許重復。 取值范圍:長度[1, 63],只支持字母(大小寫)、數(shù)字、中劃線、下劃線

value
 
string

設置需要透傳HTTP header的值。

取值范圍:長度[0, 2048]

返回碼: 400

請求失敗響應消息。

名稱 類型 必選 描述
Code
 
string

錯誤響應消息體XML中錯誤響應對應的HTTP消息返回碼,具體的錯誤碼請參見錯誤碼-表2。

Message
 
string

錯誤響應消息體XML中具體錯誤更全面、詳細的英文解釋,具體的錯誤消息請參見錯誤碼-表2。

RequestId
 
string

本次錯誤請求的請求ID,用于錯誤定位。

HostId
 
string

返回該消息的服務端ID。

Resource
 
string

該錯誤相關(guān)的桶或?qū)ο筚Y源。

請求示例
示例 1
 
"/?mirrorBackToSource"
 
"GET /?mirrorBackToSource HTTP/1.1\nHost: bucketname.obs.cn-north-4.myhuaweicloud.com \nAuthorization: OBS H4IPJX0TQTHTHEBQQCEC:sc2PM13Wlfcoc/YZLK0MwsI2Zpo=\nDate: Tue, 21 Jul 2020 22:28:46 GMT\n"
返回示例
返回碼:200

請求成功響應消息。

示例 1
 
HTTP/1.1 200 OK Server: OBS Date: Tue, 07 Jul 2020 07:28:46 GMT Content-Type: application/json Content-Length: 1063 { "rules": [{ "id": "abc123", "condition": { "httpErrorCodeReturnedEquals": 404, "objectKeyPrefixEquals": "video/" }, "redirect": { "agency": "agency", "publicSource": { "sourceEndpoint": { "master":["http://bucket1.xxx.yyy.com", "https://bucket2.xxx.yyy.com"], "slave": ["http://bucket3.xxx.yyy.com", "https://bucket4.xxx.yyy.com"] } }, "retryConditions": ["4XX", "5XX"], "passQueryString": true, "mirrorFollowRedirect": true, "redirectWithoutReferer": true, "mirrorHttpHeader": { "passAll": false, "pass": ["content-encoding"], "remove": ["content-type"], "set": [{ "key": "helloworld", "value": "2222" }] }, "replaceKeyWith": "prefix${key}suffix", "replaceKeyPrefixWith": "picture/", "vpcEndpointURN": "001" } }] }
錯誤碼
請參考 錯誤碼說明。