创建数据回源规则
操作场景
请参见数据回源简介。
约束与限制
请参见数据回源简介。
创建镜像回源规则
- 在OBS管理控制台左侧导航栏选择“对象存储”。
- 在桶列表单击待操作的桶,进入“概览”页面。
- 在左侧导航栏选中“数据回源”,进入“数据回源”页面。
- 单击“创建规则”。图1 创建镜像回源规则
- 配置镜像回源规则参数,参数说明如表1。
表1 镜像回源规则参数说明 参数
说明
回源类型
选择“镜像”。
客户端发送满足回源条件的请求后,OBS将以镜像回源的方式去源站获取资源,将该资源上传到OBS中并返回给客户端。
资源类型
设置回源地址(源站)的类型。镜像回源只支持公有类型,表示源站数据可以通过公网域名访问。
回源条件
设置回源规则的触发条件。
回源条件由HTTP状态码和文件名前缀共同确定,表示访问桶中符合文件名前缀要求的对象时,如果对象不存在(返回404错误),则满足回源条件。
文件名前缀输入规则:
- 不能超过1023个字符。
- 不能与已有回源规则配置的文件名前缀存在相互包含或重叠的关系。
- 如果不输入,则表示配置到尚未匹配桶内任何回源规则的文件。仅能配置一条文件名前缀为空的回源规则。
示例:配置123/前缀,访问桶中123/456.txt文件时会触发回源规则。
添加前后缀
OBS向源站请求数据时,在客户端请求的对象名前后增加前后缀。最终返回给OBS与客户端的对象名与此前后缀无关,仍保持客户端请求的对象名。
示例:客户端请求abc.txt时触发回源规则,若添加前缀为123,则OBS向源端请求的对象名变为123abc.txt,该对象下载到OBS中仍以abc.txt名称保存并返回给客户端。
替换前缀
OBS向源站请求数据时,替换回源条件中的文件名前缀。最终返回给OBS与客户端的对象名此前缀无关,仍保持客户端请求的对象名。
示例:回源条件配置文件前缀为123,替换前缀配置为abc,客户端请求123456.txt时触发回源规则,OBS向源端请求的对象名变为abc456.txt,该对象下载到OBS中仍以123456.txt名称保存并返回给客户端。
回源地址
设置回源地址(源站地址),支持配置主站和备站。
回源时会优先使用主站地址,如果同时配置多个主站,会轮询访问所有主站。如果配置2个及以上主站,第一次请求主站失败,并且满足重试条件时,会选用另一个主站重试一次。至少配置一个主站,最多同时配置5个主站。主站全部回源失败时,会使用备站地址进行重试。
格式:http或https://回源域名/静态路径
- 回源域名为源站的域名。如果源端为HTTP公共可访问的桶,则此地址为桶域名地址。如果源端为其他云厂商的私有桶,则此地址为区域域名地址。
- 静态路径为目标文件所在的目录信息,例如静态路径配置123/,表示目标文件在123/目录下。
重试条件
选择回源地址重试的条件。
4XX和4开头的具体错误码不能同时配置,5XX和5开头的具体错误码不能同时配置。最多支持同时配置20个错误码。
携带请求字符串
开启后,会将请求URL中查询参数传递到源站。
重定向请求响应策略
开启后,如果源站配置了重定向,会跟踪源站的3xx重定向请求,前往重定向的目标获取资源,并将该资源保存到OBS上。最多跟随10次重定向。
HTTP header传递规则
可以通过设置HTTP header传递规则,规定客户端发送给OBS的请求经过镜像回源由OBS传递给源站时,允许传递的HTTP header参数。相关参考中提供了一个配置示例供参考,同时列出了不支持的HTTP header。
- 允许传递所有参数/允许传递指定参数:设置允许传递的HTTP header参数。
- 禁止传递指定参数:设置禁止传递的HTTP header参数。当客户端请求携带此header时,OBS不会传递给源站。当禁止和允许规则冲突时,禁止规则优先。
- 设置自定义参数:给指定header设置自定义取值,如果客户端请求携带此header,OBS在传递给源站时会将header取值修改为自定义的取值。
IAM委托
镜像回源需使用IAM委托功能,委托OBS获取源站数据。委托需要给OBS服务授予“Tenant Administrator”权限。若无合适的IAM委托,则可创建一个新的IAM委托,请参考创建IAM委托。
- 单击“确定”。
创建重定向回源规则
- 在OBS管理控制台左侧导航栏选择“对象存储”。
- 在桶列表单击待操作的桶,进入“概览”页面。
- 在左侧导航栏选中“数据回源”,进入“数据回源”页面。
- 单击“创建规则”。
- 配置重定向回源规则参数,参数说明如表2。
表2 重定向回源规则参数说明 参数
说明
回源类型
选择“重定向”。
客户端发送的满足回源条件的请求将重定向至源站,由源站将对象返回给客户端。
资源类型
设置回源地址(源站)的类型。
- 公有类型:源站数据可以通过公网域名访问。
- 私有类型:源站数据存储在第三方云厂商(阿里云/七牛云),需要通过AK/SK用户认证才能获取到。
回源条件
设置回源规则的触发条件。
回源条件由HTTP状态码和文件名前缀共同确定,表示访问桶中符合文件名前缀要求的对象时,如果对象不存在(返回404错误),则满足回源条件。
文件名前缀输入规则:
- 不能超过1023个字符。
- 不能与已有回源规则配置的文件名前缀存在相互包含或重叠的关系。
- 如果不输入,则表示配置到尚未匹配桶内其他回源规则的文件。一个桶仅能配置一条文件名前缀为空的回源规则。
示例:配置123/前缀,访问桶中123/456.txt文件时会触发回源规则。
源桶名(私有类型)
源站的私有桶名称。长度范围3-63个字符。
示例:target-bucket
源桶的访问域名(私有类型)
源站私有桶的终端节点(Endpoint),以http或https:开头。
示例:源站的私有桶为阿里云oss-cn-shanghai区域的桶,则配置为https://oss-cn-shanghai.aliyuncs.com
回源地址
设置回源地址(源站地址)。
重定向代码
当前仅支持302。
异步迁移
源站数据重定向回源返回给客户端后,异步迁移到此OBS桶。异步迁移是非实时的,会存在一定的延迟。
如果选择“立即配置”,需要完成如下配置。
- IAM委托(必选)
异步迁移需使用IAM委托功能,委托OBS进行数据迁移。委托需要给OBS服务授予“Tenant Administrator”权限。若无合适的IAM委托,则可创建一个新的IAM委托,请参考创建IAM委托。
私有类型资源还需要配置源桶服务商、源桶所属区域(七牛云)、源桶所属帐号的AK/SK,才能顺利完成异步迁移。
- 单击“确定”。
相关参考
镜像回源的HTTP header传递规则参数配置示例
假设参数配置如图2所示。
根据上述规则,如果客户端发送到OBS请求的header部分如下所示:
GET /ObjectName HTTP/1.1 Host: bucketname.obs.cn-north-4.myhuaweicloud.com aaa:aaa bbb:bbb ccc:ccc
在触发镜像回源规则后,OBS发送给源站的请求如下:
GET /ObjectName HTTP/1.1
Host: source.com
aaa:aaa
ccc:111
以下HTTP header类型不支持从客户端透传到源站:
- 以下前缀开头的HTTP header:
- x-obs-
- 所有标准HTTP header,例如:
- Content-Length
- Authorization2
- Authorization
- Range
- Date
