最近更新时间:2023-01-05 21:14:40
此PUT操作将给目标桶设置与更新一组镜像回源规则,您可以通过该接口同时设置镜像回源与重定向方式。
当目标桶已存在镜像回源规则时,新配置的规则将会覆盖旧的规则。
PUT /?mirror HTTP/1.1
Host: {BucketName}.{endpoint}
Date: {date}
Authorization: {SignatureValue}
Bucket mirror written in JSON
该接口不使用请求参数。
该接口只使用常用请求头部。获取更多信息,请点击常用请求头部。
{
"version": "V3",
"use_default_robots": false,
"async_mirror_rule": {
"mirror_urls": [
"http://abc.om",
"http://www.wps.cn"
],
"saving_setting": {
"acl": "private"
}
},
"sync_mirror_rules": [
{
"match_condition": {
"http_codes": [
"404"
],
"key_prefixes": [
"abc"
]
},
"mirror_url": "http://v-ks-a-i.originalvod.com",
"mirror_request_setting": {
"pass_query_string": true,
"follow3xx": true,
"header_setting": {
"set_headers": [
{
"key": "abc",
"value": "def"
}
],
"remove_headers": [
{
"key": "asdb"
},
{
"key": "asdfa"
}
],
"pass_headers": [
{
"key": "asdb"
},
{
"key": "asdfa"
}
]
}
},
"saving_setting": {
"acl": "private"
}
}
]
}
名称 | 描述 | 是否必选 |
---|---|---|
version | 回源类型 类型: String 有效值: V3 说明:只支持V3 |
是 |
use_default_robots | 是否使用默认的robots.txt,如果为true则会在bucket下生成一个robots.txt。 类型:String 有效值: true | false |
否 |
async_mirror_rule | 异步回源规则,该字段与sync_mirror_rules必须至少有一个,可同时存在。 类型: Container |
否 |
mirror_urls | 一组源站url,数量不超过10个,url必须以http或者https开头,域名部分最多不超过256个字符,path部分最多不超过1024个字符。 类型:String 父节点:async_mirror_rule |
是 |
saving_setting | 从源站回源得到的文件在上传ks3时的配置。 类型: Container 父节点:async_mirror_rule|sync_mirror_rules |
否 |
acl | 文件上传KS3时,指定文件的权限。 类型: String 父节点: async_mirror_rule.saving_setting|sync_mirror_rule.saving_setting 有效值: public-read |private |
否 |
sync_mirror_rules | 一组同步回源规则,最多可配置20个。该字段与async_mirror_rule必须至少有一个,可同时存在。 类型: Container |
否 |
match_condition | 回源触发条件,可不填,不填表示对该bucket中不存在的object发送get请求时,将会触发回源。 类型:Container 父节点:sync_mirror_rules |
否 |
http_codes | 触发回源的http状态码,目前仅支持404一种。 类型:String 父节点:sync_mirror_rules.match_condition 有效值:404 |
否 |
key_prefixes | 当请求的object key的前缀与任意一个key_prefix匹配时触发回源,仅支持一个前缀。元素长度最多不超过1024个字符,否则报错400。 类型:String 父节点:sync_mirror_rules.match_condition |
否 |
mirror_url | 源站url,必须以http或者https开头,域名部分最多不超过256个字符,path部分最多不超过1024个字符。 类型:String 父节点:sync_mirror_rules |
是 |
mirror_request_setting | ks3请求源站时的配置,可不填。 类型:Container 父节点:sync_mirror_rules |
否 |
pass_query_string | ks3请求源站时是否将客户端请求ks3时的query string透传给源站。 类型:String 父节点:sync_mirror_rules.mirror_request_setting 有效值:true|false |
否 |
follow3xx | 设置访问源站时,是否follow 302/301。 ks3是否响应源站的301和302跳转,如果为false且源站返回了302,则ks3会返回424给客户端,如果为true则ks3收到302后会请求302的location。 类型:String 父节点: sync_mirror_rules.mirror_request_setting 有效值: true | false |
否 |
header_setting | ks3请求源站时的header配置,注意以下的属性有优先级:set_headers > remove_headers > pass_all > pass_headers。 类型:Container 父节点: sync_mirror_rules.mirror_request_setting |
否 |
set_headers | 自定义header,这些header的key和value均是固定的,ks3请求源站时会带上这些header。 类型:String 父节点: sync_mirror_rules.mirror_request_setting.header_setting |
否 |
remove_headers | 从客户端发给ks3的header中移除以下指定的header,通常与pass_all或者pass_headers配合使用,只能指定header中的key,不能指定value。 类型:String 父节点: sync_mirror_rules.mirror_request_setting.header_setting |
否 |
pass_all | 将客户端发给ks3的header全部透传给源站,该字段与pass_headers互斥。 类型:String 父节点: sync_mirror_rules.mirror_request_setting.header_setting 有效值: true | false |
否 |
pass_headers | 将客户端发给ks3的header中指定的几个透传给源站,只能指定header中的key,不能指定value。 该字段与pass_all互斥。 类型:String 父节点: sync_mirror_rules.mirror_request_setting.header_setting |
否 |
该接口可以使用所有常用响应头部。获取更多信息,请点击常用响应头部。
该接口不返回响应内容。
请求示例
PUT /?mirror HTTP/1.1
Host: ks3-example.ks3-cn-beijing.ksyuncs.com
Content-Length: 225
Authorization: authorization string
Content-Md5: 8evRehlmPHkf+VuSe8k6Rg==
Date: Tue, 19 Jul 2016 09:12:54 GMT
{
"version": "V3",
"use_default_robots": false,
"sync_mirror_rules": [
{
"match_condition": {
"http_codes": [
"404"
],
"key_prefixes": [
"abc",
"def"
]
},
"mirror_url": "http://v-ks-a-i.originalvod.com",
"mirror_request_setting": {
"pass_query_string": true,
"follow3xx": true,
"header_setting": {
"set_headers": [
{
"key": "abc",
"value": "def"
}
],
"remove_headers": [
{
"key": "asdb"
},
{
"key": "asdfa"
}
],
"pass_headers": [
{
"key": "asdb"
},
{
"key": "asdfa"
}
]
}
},
"saving_setting": {
"acl": "private"
}
}
]
}
响应示例
HTTP/1.1 200 OK
Content-Length: 0
Connection: keep-alive
Date: Tue, 19 Jul 2016 09:14:23 GMT
Server: KS3
X-Application-Context: application
X-Kss-Request-Id: 54a47bda18ac4e6e91de369add54218e
错误码 | HTTP状态码 | 描述 |
---|---|---|
MalFormedBucketMirror | 400 Bad Request | JSON格式不正确。 |
纯净模式