99
iPhone_iPad_Mac_手机_平板_苹果apple
管理回源设置__管理文件_开发人员指南_对象存储 OSS-阿里云
通过回源设置,对于获取数据的请求以多种方式进行回源读取,满足您对于数据热迁移、特定请求重定向等需求。
通过规则的方式,对每条到OSS的Get请求的url进行匹配,然后按照特定的方式进行回源。规则最多配置5条,顺序匹配,直到匹配到有效规则。回源类型分为镜像方式和重定向的方式。
镜像方式
如果配置了镜像回写,则当Get一个不存在的文件时,会向源地址请求这个文件,返回给用户,并同时写入到OSS。
使用场景
镜像回写主要用于无缝迁移数据到OSS,即服务已经在自己建立的源站或者在其他云产品上运行,需要迁移到OSS上,但是又不能停止服务,此时可利用镜像回写功能实现。具体场景分析如下:
源站有一批冷数据,同时在不断的生成新的热数据。
可以先通过迁移工具将冷数据迁移到OSS上,迁移工具为ossimport2,同时配置镜像回写,将源站的地址配置到OSS上。当将域名切换到OSS上(或者阿里云的CDN,回源到OSS),就算有一部分新生成的数据没有迁移过来,依然可以在OSS上正常访问到,且访问一次后文件就会存入到OSS。域名切换后,源站已经没有新的数据产生了,此时再扫描一次,将还没有导过来的数据一次性导入到OSS,然后将镜像回写配置删除。
如果配置的源站是IP,那么将域名迁移到OSS后还可以继续镜像到源站,但是如果配置的是一个域名,由于域名本身会解析到OSS或者CDN,那么镜像就失去作用了,在这种情况下,可以另外申请一个域名作为镜像的源站,这个域名与正在服务的域名解析到同一个IP,这样服务域名迁移的时候就可以继续镜像到源站了。只切换源站的部分流量到OSS或者CDN,源站本身还在不断的产生数据。
迁移方式与上述方式类似,只是流量切换到OSS后,不要将镜像回写的配置删掉,这样可以保证切换到OSS或者CDN的流量还是能够拿到源站的数据。
使用细则
- 只有当GetObject()本应该返回404的情况下,OSS才会执行镜像回写,向源站请求文件
- 向源站请求的url为
MirrorURL+object
,回写到OSS的文件名为“object”,例如bucket为example-bucket
,配置了镜像回写,MirrorURL为https://www.example-domain.com/
,文件image/example_object.jpg
不在这个bucket里面,此时去下载这个文件时,OSS将向https://www.example-domain.com/image/example_object.jpg
发起GET请求,并将结果同时返回给用户以及写入到OSS,当下载完成后,这个文件就已经存在OSS上了,文件名为image/example_object.jpg
,此时相当于将源站的文件同名的迁移到了OSS上。如果MirrorURL带有path信息,比如https://www.example-domain.com/dir1/
,其他与上例相同,那么OSS回源的url为https://www.example-domain.com/dir1/image/example_object.jpg
,写入到OSS的object依然是image/example_object.jpg
,此时相当于将源站的某一个目录下的文件迁移到OSS上。 - 传给OSS的header信息以及querystring信息不会传递给源站。
- 如果源站是chunked编码返回,那么OSS返回给用户的也是chunked编码。
- OSS会将源站的以下头信息返回并存为OSS的头信息:
Content-Type
Content-Encoding
Content-Disposition
Cache-Control
Expires
Content-Language
Access-Control-Allow-Origin
- 通过镜像回写的文件会添加一个回应头x-oss-tag,值为“MIRROR” + 空格 + url_decode(回源URL),以上例为例,则为
x-oss-tag:MIRROR http%3a%2f%2fwww.example-domain.com%2fdir1%2fimage%2fexample_object.jpg
。文件回写到OSS上后,只要文件不被重新覆盖,每次下载这个文件都会添加这个头部,用于表示这个文件来源于镜像。 - 假设文件已经通过镜像回写到了OSS,如果源站的相同文件发生了变化,那OSS不会更新已经存在于OSS上的文件,因为此时文件已经在OSS上,不符合镜像回写的条件了。
- 如果镜像源也不存在此文件,即镜像源返回给OSS的http status为404,那么OSS也返回404给用户,如果是其他非200的状态码(包括因为网络原因等获取不到文件的错误情况),OSS将返回用户424,错误码为“MirrorFailed”。
重定向
URL重定向功能的作用是根据用户设置的条件,以及相应的跳转的配置,向用户返回一个3xx跳转。用户可以利用这种跳转的功能对文件做重定向以及在此基础之上的各种业务。其流程如下:
使用场景
- 其他数据源向OSS的无缝迁移。
用户异步的从自己的数据源向OSS迁移数据,在此过程中未迁移到OSS的数据通过URL rewrite的方式返回给用户一个302重定向请求,用户的客户端根据302中的Location从自己的数据源读回数据。 - 配置页面跳转功能。
比如用户希望隐藏自己的某些前缀开头的object,给访问者返回一个特殊的页面。 - 配置发生404、或者500错误时的跳转页面。
发生以上错误的时候用户可以看到一个预先设定的页面,不至于系统发生错误的时候向用户完全暴露OSS的错误。
功能使用参考
- 控制台:管理回源规则
最后更新:2016-11-23 16:04:09
上一篇:
管理跨区域复制__管理文件_开发人员指南_对象存储 OSS-阿里云
下一篇:
设置访问日志记录__安全管理_开发人员指南_对象存储 OSS-阿里云
实例被安全锁定时API的行为__附录_API 参考_云服务器 ECS-阿里云
编码格式设置__脚本开发_Lite用户使用手册_性能测试-阿里云
优先级__运算符_SQL语法参考_云数据库 OceanBase-阿里云
API 概述__API参考_容器服务-阿里云
用户登录__系统管理_用户指南(Linux)_数据管理-阿里云
支持的命令参数__开发者工具_容器服务-阿里云
ALTER VIEW__数据定义语言_SQL语法参考_云数据库 OceanBase-阿里云
新建用户__用户管理_DMS for MongoDB_用户指南(NoSQL)_数据管理-阿里云
基于 EMR 的大数据计算__典型应用_用户指南_云数据库 RDS 版-阿里云
手工脚本编写指南__手工脚本编写_Lite用户使用手册_性能测试-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云