最近更新时间:2024-12-05 18:44:59
KS3提供同步镜像回源功能,用于数据无缝迁移到KS3的场景,在迁移数据的同时,同时保证业务的正常进行。
当用户向KS3请求的文件不存在时,KS3会向回源地址请求这个文件,返回给用户。镜像回源有两种请求方式,完整文件的请求和部分文件的请求(Range请求)。
对于完整文件的请求:KS3会同时请求全部数据返回给用户,并将该文件存入KS3。
对于Range请求:KS3会同时请求部分数据返回给用户,然后异步拉取全部数据存储至KS3。
您最多可以配置20条回源规则,系统将按照规则顺序依次执行。
KS3镜像回源单个文件最大支持50GB。
该功能目前支持北京、上海地区。
使用该功能需相应的权限,可联系商务或提交工单申请权限。
特别说明:
拉取到KS3的数据默认以标准存储类型存储。
拉取到KS3的文件不支持用KS3提供的设置文件名功能来修改文件名。
源站拉取完成后,KS3不感知源站的文件变化。
若用户设置了原图保护,在同步回源时失效。
若用户设置了文件服务端加密/客户端传输密钥加密,在同步回源时失效。
使用镜像回源功能可能会产生以下费用:
用户向KS3请求资源会产生请求次数费用
从源站拉取的内容写入到KS3会产生存储费用
KS3将指定资源返回给客户端会产生外网下行流量费用
有关收费标准的详细信息,请参见对象存储KS3详细价格
同步镜像回源流程
当您的客户向Bucket请求的某个Object不存在时,KS3会向回源地址请求这个Object,并且,为了避免等待整个文件需要较长时间,KS3会向源站流式拉取部分数据 ,源站返回数据后,KS3返回给用户的同时将数据存入对应Bucket中。具体流程如下图所示。
1.完整文件请求流程
2.部分(range)文件请求流程:
1.登录KS3控制台,点击左侧存储空间,单击目标Bucket名称。
2.空间设置 > 镜像 > 镜像回源。
3.单击添加规则,出现如下添加规则弹窗。
4.根据下表参数说明填写规则:
参数 | 是否必选 | 说明 |
---|---|---|
回源条件 | 是 | 1、HTTP状态码404(默认项,必选) |
回源地址 | 是 | 用户需在此设置回源的源地址信息。 |
访问控制 | 否 | 用户可选择将源站资源自动平滑迁移到KS3的Object的权限设置为公开或私密,默认为私密。 |
回源参数 | 否 | 客户可选择是否将对KS3请求中的queryString传递到源站,默认为不透传。 |
3XX跟随策略 | 否 | 默认选中”是”,即跟随源站3XX重定向请求获取到资源,并且将资源保存到KS3上。若用户选择”否”,KS3会透传3XX响应给客户端,而非跟随3XX地址。 |
设置HTTP Header传递规则 | 否 | 默认不传递任何HTTP Header到源站,客户可以通过设置HTTP Header传递规则进行自定义透传、过滤或修改。 |
HTTP Header传递规则设置举例:
允许:传递指定HTTP header参数:reponse-content-type
禁止:禁止传递指定HTTP header参数:If-Modified-Since
设置:设置指定HTTP header参数:c-header:111
根据以上配置,若您发送到KS3的请求(HTTP Header的部分)如下:
GET /object
host : bucketname. ks3-cn-beijing.ksyuncs.com
response-content-type :String
If-Modified-Since : Fri, 26 Dec 2014 06:48:46 GMT
c-header : ccc
则触发镜像回源后,KS3发给源站的请求如下:
GET /object
host : source.com
response-content-type :String
c-header : 111
注意:
规则优先级:设置>禁止>允许。
例如:Header x-age,用户同时配置规则允许x-age,禁止x-age,且设置了header:x-age 值为1,则传递源站为x-age值为1的header。
以下HTTP header类型不支持设置HTTP header传递规则:
以下前缀开头的header:
x-kss-
x-ks3-
所有标准HTTP header,例如:
content-length
authorization2
authorization
range
date
5.单击确定,完成规则的添加。
1.登录KS3控制台,单击左侧存储空间 > 单击目标Bucket名称。
2.空间设置 > 镜像 > 镜像回源。
3.找到需要编辑的镜像回源规则,单击右侧的编辑。
4.出现弹窗,进行编辑。
1.登录KS3控制台,单击左侧存储空间 > 单击目标Bucket名称。
2.空间设置 > 镜像 > 镜像回源。
3.找到需要编辑的镜像回源规则,单击右侧的删除。
4.出现弹窗,单击确定。
用户可以对镜像回源规则的顺序进行上移/下移操作,KS3将按照用户配置的规则展示顺序匹配规则的优先级。正常情况下,匹配到规则一,则不再匹配规则二,但是,若遇到规则一中源站不可以用时,KS3会按照第二条规则作为备源重新请求,因为规则最多配置20条,所以,我们最多有19个备站。
1.登录KS3控制台,单击左侧存储空间 > 单击目标Bucket名称。
2.空间设置 > 镜像 > 镜像回源。
3.找到需要编辑的镜像回源规则,单击右侧的上移/下移或更多 > 上移/下移。
1.同步回源规则触发条件
当客户端Get Object请求的文件不存在时,且用户配置了该文件的同步镜像回源规则,并且该文件满足规则时,触发同步镜像回源。
2.请求失败返回规则
如果镜像源也不存在此文件,即镜像源返回给KS3的HTTP状态码为404,那么KS3也将返回404给用户。
如果镜像源返回给KS3的HTTP status为其他非200的状态码(包括因为网络原因等获取不到文件的错误情况),KS3将返回424给用户,错误码为MirrorFailed。
如果源站返回3xx(3XX包含302与301),根据用户的回源规则配置,决定是否follow源站3xx重定向请求获取到资源。
3.同步回源文件更新规则
如果文件通过镜像回源,存储到了KS3中,之后源站里该文件发生了变化,KS3不会更新已存在于KS3上的该文件。
4.同步回源文件元信息
Content-Type
Content-Disposition
Cache-Control
Expires
5.HTTP请求规则
传给KS3的Header信息不会传递给源站,QueryString信息是否会传递给源站取决于控制台回源规则中的配置。
如果源站是chunked编码返回,那么KS3首次回源时返回给用户的也是chunked编码。
当客户存在多条规则且回源条件相同与部分重叠时:
规则一:回源条件全部文件404时回test.com
。
规则二:回源条件全部文件404时回141.0.0.12
。
规则三:回源条件文件名前缀为333的文件404时回back.com
。
KS3的处理说明:
1.请求优先匹配到规则一,同时test.com可以正常拉取数据,则不再匹配规则二。
2.请求优先匹配到规则一,但是KS3回源服务前往 test.com时,该源站不可用,则KS3再去前往规则二配置的141.0.0.12站点。
3.若规则二配置的141.0.0.12也恰巧不可用时,如果文件名符合前缀为333,则KS3继续前往规则三配置back.com
;如果文件名前缀不是333,则KS3给用户返回404。
API操作方式:
操作方式 | 参考文档 |
---|---|
API |
|
纯净模式