You need to enable JavaScript to run this app.
导航
GetBucketMirrorBack
最近更新时间:2024.09.12 18:02:53首次发布时间:2023.03.14 21:02:15

功能描述

此接口用于获取 Bucket 的回源规则。

请求消息样式

GET /?mirror HTTP/1.1
Host: bucketname.tos-cn-beijing.volces.com
Date: Fri, 30 Jul 2021 08:05:36 +0000
Authorization: authorization string

请求参数和消息头

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

名称

位置

参数类型

是否必选

示例值

说明

mirror

Query

String

-

代表 GetBucketMirrorBack 请求的特殊标识。

请求元素

该请求不使用消息元素。

响应消息头

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

响应元素

Rules

名称

参数类型

示例值

说明

Rules

Array

-

回源策略规则数组。
根节点,无父节点。

ID

String

1

规则 ID。当前桶上配置的回源规则的唯一标识。
父节点:Rules。

Condition

名称

参数类型

示例值

说明

Condition

Object

-

触发回源功能的条件。
父节点:Rules。

HttpCode

int

404

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

Condition/KeyPrefix

String

object-key-prefix

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

KeySuffix

String

object-key-suffix

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

AllowHost

Array

["example.volcengine.com"]

支持指定域名才会触发回源。域名需要能访问到桶,建议填写桶绑定的自定义域名。
限制:最大支持 30个域名。
父节点:Condition

HttpMethod

Array

["GET","HEAD"]

触发回源的请求类型,取值说明如下:

  • ["GET","HEAD"]:表示 GetObject 请求或 HeadObject 请求都可以触发回源。
  • ["GET"]:表示仅 GetObject 请求可以触发回源。

Redirect

名称

参数类型

示例值

说明

Redirect

Object

-

指定匹配此规则后执行的动作。
父节点:Rules

RedirectType

String

Mirror

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

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

父节点:Redirect

FetchSourceOnRedirect

Boolean

false

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

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

父节点:Redirect

FetchSourceOnRedirectWithQuery

Boolean

false

重定向后去拉取数据时是否携带请求参数,若未配置则继承PassQuery配置:

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

父节点:Redirect

PublicSource

Object

-

源站为公共桶时的回源地址配置。具体请参见下文的 PublicSource
父节点:Redirect

PrivateSource

Object

-

源站为私有桶时的回源地址配置。具体请参见下文的 PrivateSource
父节点:Redirect

PassQuery

Boolean

true

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

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

注意

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

父节点:Redirect

FollowRedirect

Boolean

true

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

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

父节点:Redirect

MirrorHeader

Object

-

指定镜像回源时携带的 Header。
父节点:Redirect

PassAll

Boolean

true

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

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

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

  • Host
  • Content-Length
  • Date
  • Authorization

父节点:MirrorHeader

Pass

Array

["aaa", "bbb"]

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

Remove

Array

["xxx", "yyy"]

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

Transform

Object

-

定义对于请求源站的对象名的变换。
父节点:MirrorHeader

WithKeyPrefix

String

addtional-key-prefix

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

WithKeySuffix

String

addtional-key-suffix

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

ReplaceKeyPrefix

Object

-

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

ReplaceKeyPrefix/KeyPrefix

String

key-prefix

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

ReplaceWith

String

replace-with

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

PublicSource

名称

参数类型

示例值

说明

PublicSource

Object

-

源站为公共桶时的回源地址配置。
父节点:Redirect

SourceEndpoint

Object

-

公共可访问的源端地址。
父节点:PublicSource

Primary

Array

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

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

PrivateSource

名称

参数类型

示例值

说明

PrivateSource

Object

-

源站为私有桶时的回源地址配置。
父节点:Redirect

SourceEndpoint

Object

-

源站为私有桶时的回源地址配置。
父节点:PrivateSource

Primary

Array

-

请求的源站地址,最多支持 5 个回源地址。
父节点:SourceEndpoint

Endpoint

String

http://s3.bj.bcebos.com

源站服务商的访问域名,不带桶名,最大长度 255。
父节点:Primary

BucketName

String

bucket

回源的存储桶名称。
父节点:Primary

CredentialProvider

Object

-

私有回源鉴权方式。
父节点:Primary

Role

String

ServiceRoleBackSourceAccessTOS

AssumeRole 的名称,仅当回源到TOS的私有桶时,可以使用 AssumeRole 进行鉴权,和 AK/SK 鉴权方式互斥。
父节点:CredentialProvider

Region

String

cn-beijing

回源桶所属的 Region。
父节点:CredentialProvider

StaticCredential

Object

-

使用 AK/SK 方式鉴权。
父节点:CredentialProvider

StorageVendor

String

S3

源站服务商,取值说明如下:

  • BOS:百度云
  • S3:其他 S3 存储协议的云厂商

父节点:StaticCredential

AK

String

AKLTNDk3NDMxY2NmNzNhNGNiN****

回源桶的 AccessKey ID。
父节点:StaticCredential

SK

String

AADFSDfdsfa3ewdr23==d****

回源桶的加密后的 SecretKey 信息。
父节点:StaticCredential

SKEncryptType

String

AES256

SecretKey 使用的加密方式。
父节点:StaticCredential

请求示例

GET /?mirror HTTP/1.1
Host: bucketname.tos-cn-beijing.volces.com
Date: Fri, 30 Jul 2021 13:53:55 +0000
Authorization: authorization string

响应示例

  • 响应示例一:源站为公共桶的回源规则

    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
    Content-Length: 643
    {
        "Rules":[{
            "ID":"xxx",
            "Condition":{
                "HttpCode":204,
                "ObjectKeyPrefix":"prefix"
            },
            "Redirect":{
                "PublicSource":{
                    "SourceEndpoint":{
                        "Primary":["http://abc.123/"]
                    }
                },
                "PassQuery":true,
                "FollowRedirect":true,
                "MirrorHeader":{"PassAll":true}
            }
        }]
    }
    
  • 响应示例二:源站为 TOS 私有桶的回源规则

    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
    Content-Length: 643
    {
        "Rules":[{
            "ID":"xxx",
            "Condition":{
                "HttpCode":404,
                "KeyPrefix":"prefix"
            },
            "Redirect":{
                "PrivateSource":{
                    "SourceEndpoint":{
                        "Primary": [{
                            "Endpoint": "http://tos-cn-beijing.volces.com",
                             "BucketName": "bucket",  
                             "CredentialProvider": {
                                 "Role": "ServiceRoleBackSourceAccessTOS"          
                             }              
                        }]
                    }
                },
                "PassQuery":true,
                "FollowRedirect":true,
                "MirrorHeader":{"PassAll":true}
            }
        }]
    }
    
  • 响应示例三:源站为其他 S3 存储协议的云厂商私有桶的回源规则

    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
    Content-Length: 643
    {
        "Rules":[{
            "ID":"xxx",
            "Condition":{
                "HttpCode":404,
                "KeyPrefix":"prefix"
            },
            "Redirect":{
                "PrivateSource":{
                    "SourceEndpoint":{
                        "Primary": {
                            "Endpoint": "http://s3.com",
                             "BucketName": "bucket",  
                             "CredentialProvider": {
                                 "Region": "cn-beijing",           
                                 "StaticCredential": {
                                       "StorageVendor": "S3",
                                        "AK": "AKLTNDk3NDMxY2NmNzNhNGNiN****", 
                                        "SK":"AADFSDfdsfa3ewdr23==d****",
                                        "SKEncryptType": "AES256"
                                 }
                             }      
                        }
                    }
                },
                "PassQuery":true,
                "FollowRedirect":true,
                "MirrorHeader":{"PassAll":true}
            }
        }]
    }