华为云计算 云知识 设置桶的镜像回源规则SetBucketMirrorBackToSource
设置桶的镜像回源规则SetBucketMirrorBackToSource

 

接口说明

本接口用于为指定桶配置 镜像 回源策略。接口是幂等的,若桶上已存在相同策略内容,则返回成功,status code返回值为200;否则status code返回值为201。

URL
PUT  https://obs.af-south-1.myhuaweicloud.com/ 
请求参数
名称 类型 IN 必选 描述
Authorization
 
string header

请求消息中可带的签名信息。

Date
 
string header

请求发起端的日期和时间,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默认值:无。 条件:如果消息头中带了x-obs-date字段,则可以不带该字段,其他情况下必选。

bucket_name
 
string query

请求的桶名称。

mirrorBackToSource
 
string query

mirrorBackToSource表示请求桶的镜像回源规则API。

Body参数
名称 类型 必选 描述
rules
 
Array of rules objects

策略规则数组。 说明: 同一个桶下的不同策略前缀不能重复和起始包含,委托建议使用同一个。

参数:
rules
名称 类型 必选 描述
id
 
string

规则ID。当前桶上配置的镜像回源规则的唯一标识。 取值范围:[1, 256],满足“^[a-zA-Z0-9_-]{1, 256}$”

condition
 
condition object

触发回源功能的条件。

redirect
 
redirect object

回源功能主要参数。

参数:
rules.condition
名称 类型 必选 描述
httpErrorCodeReturnedEquals
 
string

触发回源功能的错误码。当下载请求返回此错误码时,会触发回源功能。

objectKeyPrefixEquals
 
string

触发回源功能的对象名前缀。当触发回源的请求里对象名满足此前缀,才会继续执行回源功能。当前缀配置为空时,默认所有对象都匹配。同一个桶上多条规则的前缀之间不允许重复和起始包含。 有效值:长度[0, 1023],值允许为任意字符

参数:
rules.redirect
名称 类型 必选 描述
agency
 
string

委托名。客户通过委托赋予OBS服务查询用户桶内指定对象是否存在以及向用户桶内上传对象的权限。

publicSource
 
publicSource object

公共可访问源端配置。当源端为公共可访问的资源时,必选。

retryConditions
 
Array of strings

回源地址切换的条件。

类型:数组

取值范围:4XX,5XX以及400~499,500~599等具体错误码

说明: 4XX和4开头的具体错误码不能同时配置,5XX和5开头的错误码不能同时配置。

最大支持同时配置20个错误码

passQueryString
 
boolean

是否携带请求字符串。如果是true,会将OBS请求中的queryString传递到源站。否则,则不会将queryString传递到源站。 该值默认值是false,如果设置为false则会忽略。

说明: 如果是true,但query里有签名信息,则将签名信息去掉,剩余参数再传递。

mirrorFollowRedirect
 
boolean

是否跟随源站3xx重定向请求获取到资源。如果是true,跟随源站3xx重定向请求获取到资源。否则,OBS会透传3XX响应,不获取资源。该值默认值是false,如果设置为false则会忽略。

redirectWithoutReferer
 
boolean

是否将原host作为referer头域携带到重定向的目的地址去。false为需要携带, true为不携带。

mirrorAllowHttpMethod
 
Array of strings

需要透传的http请求的类型,如HEAD,目前只支持HEAD

mirrorHttpHeader
 
mirrorHttpHeader object

HTTP header传递规则。

replaceKeyWith
 
string

添加前后缀。去源端下载对象的时候,如果需要添加前缀或后缀,则修改此项配置为prefix${key}suffix。如果不需要增加前后缀,则配置为${key}。

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

${key}为关键字,prefix为要添加的前缀,suffix为要添加的后缀。同时prefix和suffix的总长度[0, 1023]

replaceKeyPrefixWith
 
string

替换前缀objectKeyPrefixEquals的字符串。如果去源端下载对象时,需要替换当前的对象名前缀,则修改此项配置。

如果replaceKeyWith和ReplaceKeyPrefixWith同时为空,则ReplaceKeyPrefixWith生效。同时非空为非法请求。

类型:字符串

取值范围:长度[0, 1023]

vpcEndpointURN
 
string

终端节点 服务的URN。 取值范围:长度[0, 127]

参数:
rules.redirect.publicSource
名称 类型 必选 描述
sourceEndpoint
 
sourceEndpoint object

公共可访问的源端地址。

参数:
rules.redirect.publicSource.sourceEndpoint
名称 类型 必选 描述
master
 
Array of strings

主源端地址。如果源端为HTTP公共可访问的桶,则此地址为桶 域名 地址。如果源端为其他云厂商的私有桶,则此地址为区域域名地址。

有效取值:单个源站地址格式为https|http://xxx.yyy.zzz,长度为[10, 255]

说明: 回源时会优先使用主源站地址,如果同时配置多个主地址,会轮询访问所有主地址。如果配置2个及以上主地址,第一次请求主地址失败,并且满足重试条件时,会选用另一个主地址重试一次。 至少配置一个主地址。 最多同时配置5个主地址。

slave
 
Array of strings

备源端地址。如果源端为HTTP公共可访问的桶,则此地址为桶域名地址。如果源端为其他云厂商的私有桶,则此地址为区域域名地址。

有效取值:单个源站地址格式为https|http://xxx.yyy.zzz,长度为[10, 255]

说明: 主地址回源失败时,会选用一个备地址进行重试。 最多同时配置5个备地址。

参数:
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只支持字母(大小写)、数字、中划线、下划线

remove
 
Array of strings

不允许透传的HTTP header列表。 remove优先级高于pass和passAll。

取值范围:最大10个,每个长度[1, 63],key只支持字母(大小写)、数字、中划线、下划线

set
 
Array of set objects

设置透传的HTTP header值列表。 set优先级高于remove,pass和passAll。 如果自定义头域中包含了Referer头域,必须将redirectWithoutReferer设置为true,不然会被覆盖

取值范围:最大10个

参数:
rules.redirect.mirrorHttpHeader.set
名称 类型 必选 描述
key
 
string

设置需要透传HTTP header的关键字。

多条key之间不允许重复。 取值范围:长度[1, 63],只支持字母(大小写)、数字、中划线、下划线

value
 
string

设置需要透传HTTP header的值。

取值范围:长度[0, 2048]

返回参数
返回码: 200

请求成功响应消息。

名称 类型 必选 描述
Content-Length
 
string

响应消息体的字节长度。

Connection
 
string

指明与服务器的连接是长连接还是短连接。

Date
 
string

OBS系统响应的时间。

ETag
 
string

对象的base64编码的128位MD5摘要。ETag是对象内容的唯一标识,可以通过该值识别对象内容是否有变化。比如上传对象时ETag为A,下载对象时ETag为B,则说明对象内容发生了变化。实际的ETag是对象的哈希值。ETag只反映变化的内容,而不是其元数据。上传的对象或拷贝操作创建的对象,通过MD5加密后都有唯一的ETag。如果通过多段上传对象,则无论加密方法如何,MD5会拆分ETag,此类情况ETag就不是MD5的摘要。

x-obs-id-2
 
string

帮助定位问题的特殊符号。

x-obs-request-id
 
string

由OBS创建来唯一确定本次请求的值,可以通过该值来定位问题。

返回码: 400

请求失败响应消息。

名称 类型 必选 描述
Code
 
string

错误响应消息体XML中错误响应对应的HTTP消息返回码,具体的错误码请参见错误码-表2

Message
 
string

错误响应消息体XML中具体错误更全面、详细的英文解释,具体的错误消息请参见错误码-表2

RequestId
 
string

本次错误请求的请求ID,用于错误定位。

HostId
 
string

返回该消息的服务端ID。

Resource
 
string

该错误相关的桶或对象资源。

请求示例
示例 1
 
"/?mirrorBackToSource"
 
"PUT /?mirrorBackToSource HTTP/1.1\nHost: bucketname.obs.cn-north-4.myhuaweicloud.com \nAuthorization: OBS H4IPJX0TQTHTHEBQQCEC:sc2PM13Wlfcoc/YZLK0MwsI2Zpo=\nContent-Type: application/json\nContent-Length: 1049\nDate: Tue, 21 Jul 2020 15:38:30 GMT\n\n{\n \"rules\": [{\n \"id\": \"abc123\",\n \"condition\": {\n \"httpErrorCodeReturnedEquals\": \"404\",\n \"objectKeyPrefixEquals\": \"video/\"\n },\n \"redirect\": {\n \"agency\": \"agency\",\n \"publicSource\": {\n \"sourceEndpoint\": {\n \"master\":[\"http://bucket1.xxx.yyy.com\", \"https://bucket2.xxx.yyy.com\"],\n \"slave\": [\"http://bucket3.xxx.yyy.com\", \"https://bucket4.xxx.yyy.com\"]\n }\n },\n \"retryConditions\": [\"4XX\", \"5XX\"],\n \"passQueryString\": true,\n \"mirrorFollowRedirect\": true,\n \"redirectWithoutReferer\": true,\n \"mirrorAllowHttpMethod\":[\"HEAD\"],\n \"mirrorHttpHeader\": {\n \"passAll\": false,\n \"pass\": [\"content-encoding\"],\n \"remove\": [\"content-type\"],\n \"set\": [{\n \"key\": \"helloworld\",\n \"value\": \"2222\"\n }]\n },\n \"replaceKeyWith\": \"prefix${key}suffix\",\n \"replaceKeyPrefixWith\": \"picture/\",\n \"vpcEndpointURN\": \"001\"\n }\n }]\n}\n"
错误码
请参考 错误码说明

 

上一篇:华为云会议的优点 下一篇:Weblogic迁移TomEE案例

镜像服务 IMS

镜像是用于创建服务器或磁盘的模板。镜像服务提供镜像生命周期管理能力。可以通过服务器或外部文件创建系统盘镜像或数据盘镜像,也可以使用弹性云服务器或云服务器备份创建带数据盘的整机镜像。创建镜像功能免费,仅需支付使用对象存储服务或云服务器备份的费用。