You need to enable JavaScript to run this app.
导航

PutBucketMirrorBack

最近更新时间2023.11.21 10:22:22

首次发布时间2023.03.14 21:02:15

功能描述

此接口可以设置 Bucket 的镜像回源规则。您可以根据规则中不同的 Condition 设置多条规则。

注意事项

  • 只有 Bucket Owner 可以设置镜像回源规则。
  • 最多支持设置 20 条规则。

请求消息样式

PUT /?mirror HTTP/1.1
Host: bucketname.tos-cn-beijing.volces.com
Date: Fri, 30 Jul 2021 08:05:36 +0000
Authorization: authorization string
{
    "Rules":[{
        "ID":"1",
        "Condition":{
            "HttpCode":404,  
            "KeyPrefix":"object-key-prefix",  
            "KeySuffix": "object-key-suffix"  
        },
        "Redirect":{
            "RedirectType": "Mirror",        
            "FetchSourceOnRedirect": false,
            "PublicSource":{      
                "SourceEndpoint":{ 
                    "Primary":["http://abc.123/"]
                }
            },
            "PassQuery": true,     
            "FollowRedirect": true, 
            "MirrorHeader":{       
                "PassAll": true,
                "Pass": ["aaa", "bbb"],
                "Remove": ["xxx", "yyy"]
            },
            "Transform": { 
               "WithKeyPrefix": "addtional-key-prefix", 
               "WithKeySuffix": "addtional-key-suffix",  
               "ReplaceKeyPrefix": { 
                  "KeyPrefix": "key-prefix",
                  "ReplaceWith": "replace-with"
               }
            }
        }
    }]
}

请求参数和消息头

该请求使用的公共请求消息头,请参见公共参数

名称

位置

参数类型

是否必选

示例值

说明

mirror

Query

String

-

代表 PutBucketMirrorBack 请求的特殊标识。

请求元素

名称

参数类型

是否必选

示例值

说明

Rules

Array

-

镜像回源策略规则数组。

ID

String

1

规则 ID。当前桶上配置的镜像回源规则的唯一标识,您可以自行设定,在有多个规则的标记不同的规则。限制如下:

  • 字符支持字母、数字、 -_
  • 最大支持 32 个字符。

Condition

Object

-

触发回源功能的条件。

HttpCode

int

404

触发回源功能的错误码。当下载请求返回此错误码时,会触发回源功能。
限制:目前只支持 404
父节点:Condition

KeyPrefix

String

object-key-prefix

回源对象匹配的对象名前缀。
限制:最大支持 512 个字符。
父节点:Condition

KeySuffix

String

object-key-suffix

回源对象匹配的对象名后缀。
限制:最大支持 512 个字符。
父节点:Condition

Redirect

Object

-

指定匹配此规则后执行的动作。

RedirectType

String

Mirror

指定跳转的类型。取值范围如下:

  • Mirror:镜像回源。
  • Async: 重定向回源。

父节点:Redirect

FetchSourceOnRedirect

Boolean

false

重定向后是否去配置的源站拉取数据,取值说明如下:

  • true:重定向后去配置的源站拉取数据。
  • false:重定向后不去配置的源站拉取数据。

PublicSource

Object

-

公共可访问源端配置。

SourceEndpoint

Object

-

公共可访问的源端地址。

Primary

Array

["http://abc.123/"]

需要请求的源站地址。
限制:最大长度 255 ,最多支持 5 个回源地址。

PassQuery

Boolean

true

执行跳转或者镜像回源规则时,是否携带请求参数。取值说明如下:

  • true: 携带请求参数。
  • false: 不携带请求参数。

注意

即使设置了 true,请求 TOS 鉴权相关的 Query 参数也不会被携带。

FollowRedirect

Boolean

true

如果镜像回源获取的结果为 3xx,是否继续跳转到指定的 Location 获取数据。取值说明如下:

  • true: TOS 会继续请求 Location 对应的地址。
  • false: TOS 会返回 302。

MirrorHeader

Object

-

指定镜像回源时携带的 Header。

PassAll

Boolean

true

是否透传全部 HTTP header 到源端。取值说明如下:

  • true: 会透传全部 HTTP header 到源端。
  • false: 不会透传全部 HTTP header 到源端。

以下HTTP header类型不支持透传:

  • Host
  • Content-Length
  • Date
  • Authorization

Pass

Array

["aaa", "bbb"]

透传指定的 Header 到源站。
限制:最大数量 64。

Remove

Array

["xxx", "yyy"]

禁止透传指定的 Header 到源站。
限制:最大数量 64。

Transform

Object

-

定义对于请求源站的对象名的变换。

WithKeyPrefix

String

addtional-key-prefix

请求源站的时候,在对象名字前面加上的前缀。
限制:最大支持 512 个字符。
父节点:Transform

WithKeySuffix

String

addtional-key-suffix

请求源站的时候,在对象名字后加上的后缀。
限制:最大支持 512 个字符。
父节点:Transform

ReplaceKeyPrefix

Object

-

请求源站的时候,替换对象名前缀。
父节点:Transform

KeyPrefix

String

key-prefix

请求源站的时候,需要被替换的对象名前缀。
限制:最大支持 512 个字符。
父节点:ReplaceKeyPrefix

ReplaceWith

String

replace-with

请求源站的时候,对象名前缀替换后的值。
限制:最大支持 512 个字符。
父节点:ReplaceKeyPrefix

响应消息头

该请求返回的公共响应消息头,请参见公共参数

响应元素

该响应不使用消息元素。

请求示例

PUT /?mirror HTTP/1.1
Host: bucketname.tos-cn-beijing.volces.com
Date: Fri, 30 Jul 2021 08:05:36 +0000
Authorization: authorization string
{
    "Rules":[{
        "ID":"xxx",
        "Condition":{
            "HttpCode":404,
            "KeyPrefix":"prefix"
        },
        "Redirect":{
            "PublicSource":{
                "SourceEndpoint":{
                    "Primary":["http://abc.123/"]
                }
            },
            "PassQuery":true,
            "FollowRedirect":true,
            "MirrorHeader":{"PassAll":true}
        }
    }]
}

响应示例

HTTP/1.1 200 OK
Date: Fri, 30 Jul 2021 13:53:55 GMT
Server: TosServer
x-tos-id-2: 1e89f203jld00006-a444fd0
x-tos-request-id: 1e89f203b2d00006-a444ed0