最近更新时间:2023-05-12 15:58:34
KS3提供同步镜像回源功能,用于数据无缝迁移到KS3的场景,在迁移数据的同时,同时保证业务的正常进行。
当用户向KS3请求的文件不存在时,KS3会向回源地址请求这个文件,返回给用户。镜像回源有两种请求方式,完整文件的请求和部分文件的请求(Range请求)。
您最多可以配置20条回源规则,系统将按照规则顺序依次执行。
KS3镜像回源单个文件最大支持50GB。
该功能目前支持北京、上海地区。
使用该功能需相应的权限,可联系商务或提交工单申请权限。
特别说明:
拉取到KS3的数据默认以标准存储类型存储。
拉取到KS3的文件不支持用KS3提供的设置文件名功能来修改文件名。
源站拉取完成后,KS3不感知源站的文件变化。
若用户设置了原图保护,在同步回源时失效。
若用户设置了文件服务端加密/客户端传输密钥加密,在同步回源时失效。
使用镜像回源功能可能会产生以下费用:
有关收费标准的详细信息,请参见对象存储KS3详细价格
同步镜像回源流程
当您的客户向Bucket请求的某个Object不存在时,KS3会向回源地址请求这个Object,并且,为了避免等待整个文件需要较长时间,KS3会向源站流式拉取部分数据 ,源站返回数据后,KS3返回给用户,并且存在对应Bucket中。具体流程如下图所示。
1.完整文件请求流程
1.登录KS3控制台,点击左侧存储空间,单击目标Bucket名称。
2.空间设置 > 镜像 > 镜像回源。
3.单击添加规则,出现如下添加规则弹窗。
参数 | 是否必选 | 说明 |
---|---|---|
回源条件 | 是 | 1、HTTP状态码404(默认项,必选) 2、文件名前缀(可选项):通过请求的文件名前缀触发回源规则,例如:设置文件名前缀”/abc”,则访问带有/abc前缀的文件会触发这个规则(如:http://bucketname.ks3-endpoint.com/abc/image.jpg) 注意:文件名前缀不支持通配符(?*),如果您配置包含,会当作普通字符处理。 每条规则只能添加一个前缀。 |
回源地址 | 是 | 用户需在此设置回源的源地址信息。 第一列:支持选择HTTP或HTTPS,用户可以根据源站支持的访问类型进行选择。 第二列:填写源站域名或IP地址,支持配置端口。 第三列:填写目标文件所在目录信息,多级目录需以正斜线(/)隔开。例如abc/123,代表abc文件路径下的123文件夹,非必填,不填默认根目录。 注意:回源地址不支持KS3自有服务域名,包括: 1,bucektName.endpoint/path . 2.endpoint/bucektName/… 每条规则只能添加一个回源地址。 |
访问控制 | 否 | 用户可选择将源站资源自动平滑迁移到KS3的Object的权限设置为公开或私密,默认为私密。 |
回源参数 | 否 | 客户可选择是否将对KS3请求中的queryString传递到源站,默认为不透传。 |
3XX跟随策略 | 否 | 默认选中”是”,即跟随源站3XX重定向请求获取到资源,并且将资源保存到KS3上。若用户选择”否”,KS3会透传3XX响应给客户端,而非跟随3XX地址。3XX包含301和302。 |
设置HTTP Header传递规则 | 否 | 默认不传递任何HTTP Header到源站,客户可以通过设置HTTP Header传递规则进行自定义透传、过滤或修改。 1.允许传递:用户可以选择“传递所有HTTP Header参数”或自定义“传递指定HTTP Header参数”(最多支持10个配置项) 2.禁止传递:用户可以选择“禁止传递指定HTTP Header参数”并且填写需要过滤的HTTP Header(最多支持10个配置项) 3.修改参数:用户可以选择“设置指定HTTP Header参数”并且填写需要修改的HTTP Header(最多支持10个配置项) |
HTTP Header传递规则设置举例:
根据以上配置,若您发送到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.请求失败返回规则
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 |
|
纯净模式