tencent cloud

All product documents
Cloud Object Storage
GET Bucket Origin
Last updated: 2024-03-28 18:12:17
GET Bucket Origin
Last updated: 2024-03-28 18:12:17

Overview

This API is used to query the origin-pull configuration of a bucket.

Request

Sample request

GET /?origin HTTP 1.1
Host:<BucketName-APPID>.cos.<Region>.myqcloud.com
Date: GMT Date
Authorization: Auth String
Note:
In Host: <BucketName-APPID>.cos.<Region>.myqcloud.com, <BucketName-APPID> is the bucket name followed by the APPID, such as examplebucket-1250000000 (see Bucket Overview > Basic Information and Bucket Overview > Bucket Naming Conventions), and <Region> is a COS region (see Regions and Access Endpoints).
Authorization: Auth String (See Request Signature for details.)

Request parameters

This API has no request parameter.

Request headers

This API only uses Common Request Headers.

Request body

The request body of this request is empty.

Response

Response headers

This API only returns Common Response Headers.

Response body

The response body is an origin-pull rule, with its structure shown below:
<OriginConfiguration>
<OriginRule>
<RulePriority>Integer</RulePriority>
<OriginType>Redirect|Proxy|Mirror</OriginType>
<OriginCondition>
<!--The setting of the HTTP status code for origin-pull is determined based on the origin-pull type. If the type is `Proxy` or `Mirror`, the HTTP status code is set to `404`. If the type is `Redirect`, the HTTP status code is set to `4XX` or `5XX`.-->
<HTTPStatusCode>404</HTTPStatusCode>
<Prefix></Prefix>
</OriginCondition>
<OriginParameter>
<Protocol>HTTP|HTTPS|FOLLOW</Protocol>
<!--Whether to retain the error code of the origin for origin-pull-->
<TransparentErrorCode>true|false</TransparentErrorCode>
<!--Whether to retain the raw query parameter for origin-pull. Valid values: `true`, `false`-->
<FollowQueryString>true|false</FollowQueryString>
<!--Origin-pull request header parameter-->
<HttpHeader>
<!--Whether to transfer all request headers for origin-pull. Valid values: `true`, `false`-->
<FollowAllHeaders>true|false</FollowAllHeaders>
<!--Add specified headers for origin-pull. At most 10 headers can be added. A key-value pair in a custom header counts as one header.-->
<!--If there is a value, add a header. If the value is null, do not add a header.-->
<NewHttpHeaders>
<Header>
<Key>x-cos|oss|amz-ContentType|CacheControl|ContentDisposition|ContentEncoding|HttpExpiresDate|UserMetaData</Key>
<Value>string</Value>
</Header>
</NewHttpHeaders>
<!--Pass through the specified headers of the raw request for origin-pull.-->
<FollowHttpHeaders>
<Header>
<Key>x-cos|oss|amz-ContentType|CacheControl|ContentDisposition|ContentEncoding|HttpExpiresDate|UserMetaData</Key>
</Header>
</FollowHttpHeaders>
<!--Do not pass through the specified headers of the raw request for origin-pull.-->
<ForbidFollowHeaders>
<Header>
<Key>String</Key>
</Header>
</ForbidFollowHeaders>
</HttpHeader>
<!--Follow3xx parameter-->
<FollowRedirection>true|false</FollowRedirection>
<!--The redirect code parameter is optional only when the origin-pull type is `Redirect` or `Proxy`. Otherwise, a parameter error is reported.-->
<HttpRedirectCode>301|302|307</HttpRedirectCode>
</OriginParameter>
<!--Error code that triggers a switchover to the secondary origin. By default, a switchover is triggered if a 5XX status code is returned. After this field is added, a switchover is triggered if a 4XX status code is returned.-->
<HTTPStandbyCode>
<StatusCode>404</StatusCode>
<StatusCode>403</StatusCode>
</HTTPStandbyCode>
<OriginInfo>
<!--In the `Mirror` mode, multiple origins can be set to perform origin-pull based on the ratio, so that these origins can share the origin-pull traffic of a single origin. At most 10 origin addresses are supported, and the ratio is set by weight. In the `Proxy` or `Redirect` mode, only one origin can be set.-->
<HostInfo>
<HostName>bucketname-appid.cos.region.myqcloud.com</HostName>
<!--Weight set for the origins. Origin-pull is performed based on the ratio.-->
<Weight>4</Weight>
<!--Secondary origin address. At most 10 secondary origin addresses are supported, and the node names are numbered from 1 to 10.-->
<StandbyHostName_1>bucketname2-appid.cos.region.myqcloud.com</StandbyHostName_1>
<StandbyHostName_2>bucketname3-appid.cos.region.myqcloud.com</StandbyHostName_2>
</HostInfo>
<HostInfo>
<HostName>bucketname4-appid.cos.region.myqcloud.com</HostName>
<!--Weight set for the origins. Origin-pull is performed based on the ratio.-->
<Weight>2</Weight>
<!--Secondary origin address. At most 10 secondary origin addresses are supported, and the node names are numbered from 1 to 10.-->
<StandbyHostName_1>bucketname5-appid.cos.region.myqcloud.com</StandbyHostName_1>
<StandbyHostName_2>bucketname6-appid.cos.region.myqcloud.com</StandbyHostName_2>
</HostInfo>
<FileInfo>
<!--A specified file to pull-->
<FixedFileConfiguration>
<FixedFilePath>String</FixedFilePath>
</FixedFileConfiguration>
<!--New prefix of the origin-pull filename-->
<PrefixConfiguration>
<Prefix></Prefix>
</PrefixConfiguration>
<!--New suffix of the origin-pull filename-->
<SuffixConfiguration>
<Suffix></Suffix>
</SuffixConfiguration>
</FileInfo>
</OriginInfo>
</OriginRule>
</OriginConfiguration>
The nodes are described as follows:
Node Name (Keyword)
Parent Node
Description
Type
OriginConfiguration
None
Origin-pull configuration
Container
Content of OriginConfiguration:
Node Name (Keyword)
Parent Node
Description
Type
OriginRule
OriginConfiguration
Origin-pull rule. More than one OriginRule are supported, which are applied in order of priority.
Container
Content of OriginRule:
Node Name (Keyword)
Parent Node
Description
Type
RulePriority
OriginConfiguration.OriginRule
Priority of the rule
Integer
OriginType
OriginConfiguration.OriginRule
Origin-pull type. Three modes are supported: async origin-pull (Proxy), sync origin-pull (Mirror), redirection-based origin-pull (Redirect). Enumerated values: Proxy, Mirror, Redirect.
String
OriginCondition
OriginConfiguration.OriginRule
Origin-pull conditions, such as the HTTP protocol
Container
OriginParameter
OriginConfiguration.OriginRule
Origin address configuration
Container
OriginInfo
OriginConfiguration.OriginRule
Information about the origin, such as its domain name or IP
Container
Content of OriginCondition:
Node Name (Keyword)
Parent Node
Description
Type
HTTPStatusCode
OriginConfiguration.OriginRule.OriginCondition
HTTP status code that triggers origin-pull. Set this parameter to 404 for the origin-pull of the Proxy or Mirror type and to 4XX or 5XX for the origin-pull of the Redirect type.
String
Prefix
OriginConfiguration.OriginRule.OriginCondition
Filename prefix that triggers origin-pull. By default, this parameter is left empty, meaning that any file can trigger origin-pull.
String
Content of OriginParameter:
Node Name (Keyword)
Parent Node
Description
Type
Protocol
OriginConfiguration.OriginRule.OriginParameter
Protocol used for origin-pull. Enumerated values: HTTP, HTTPS, FOLLOW (default, meaning to follow the user protocol)
String
FollowQueryString
OriginConfiguration.OriginRule.OriginParameter
Whether to pass through the HTTP request string for origin-pull. Enumerated values: true (default), false
Boolean
HttpHeader
OriginConfiguration.OriginRule.OriginParameter
Whether to set HTTP header transferring
Container
FollowRedirection
OriginConfiguration.OriginRule.OriginParameter
Redirection policy for 3xx responses. Enumerated values:
true (default): pulls resources from the origin and saves the resources to COS for 3xx responses
false: passes through 3xx responses without requesting the resources
Boolean
HttpRedirectCode
OriginConfiguration.OriginRule.OriginParameter
Return code set only for the Redirect or Proxy mode. Enumerated values: 301, 302 (default), 307
String
Content of HttpHeader:
Node Name (Keyword)
Parent Node
Description
Type
FollowAllHeaders
OriginConfiguration.OriginRule.OriginParameter.HttpHeader
Whether to transfer all request headers. Enumerated values: true, false (default)
Boolean
NewHttpHeaders
OriginConfiguration.OriginRule.OriginParameter.HttpHeader
Specified headers to add during origin-pull. At most 10 headers are supported.
Container
FollowHttpHeaders
OriginConfiguration.OriginRule.OriginParameter.HttpHeader
Headers in the raw request that are to pass through during origin-pull
Container
ForbidFollowHeaders
OriginConfiguration.OriginRule.OriginParameter.HttpHeader
Headers in the raw request that are not to pass through during origin-pull
Container
Content of NewHttpHeaders, FollowHttpHeaders, and ForbidFollowHeaders:
Node Name (Keyword)
Parent Node
Description
Type
Header
OriginConfiguration.OriginRule.OriginParameter.HttpHeader.NewHttpHeaders
Custom headers to add or transfer during origin-pull. This parameter is left empty by default.
Container
Content of Header:
Node Name (Keyword)
Parent Node
Description
Type
Key
OriginConfiguration.OriginRule.OriginParameter.HttpHeader.NewHttpHeader.UserMetaData
Name of the set header in the format of x-A-B. Valid values for A: cos, oss, amz; valid values for B: ContentType, CacheControl, ContentDisposition, ContentEncoding, HttpExpiresDate, UserMetaData.
String
Value
OriginConfiguration.OriginRule.OriginParameter.HttpHeader.NewHttpHeader.UserMetaData
Value of the custom header. This parameter is left empty by default.
String
Content of OriginInfo:
Node Name (Keyword)
Parent Node
Description
Type
HostInfo
OriginConfiguration.OriginRule.OriginInfo
Origin information. In the Mirror mode, multiple origins can be set to perform origin-pull based on the ratio, so that these origins can share the origin-pull traffic of a single origin. At most 10 origin addresses are supported, and the ratio is set by weight. In the Proxy or Redirect mode, only one origin can be set.
Container
FileInfo
OriginConfiguration.OriginRule.OriginInfo
Information about the pulled file
Container
Content of HostInfo:
Node Name (Keyword)
Parent Node
Description
Type
HostName
OriginConfiguration.OriginRule.OriginInfo.HostInfo
Domain name/IP of the origin
String
Weight
OriginConfiguration.OriginRule.OriginInfo.HostInfo
Origin weight. If multiple origins are configured in the Mirror mode, the origins will perform origin-pull according to the weight ratio.
Integer
StandbyHostName_N
OriginConfiguration.OriginRule.OriginInfo.HostInfo
Secondary origin address. At most 10 secondary origin addresses are supported, and the node names are numbered from 1 to 10, for example, StandbyHostName_1, StandbyHostName_2, ..., and StandbyHostName_10.
String
Content of FileInfo:
Node Name (Keyword)
Parent Node
Description
Type
PrefixConfiguration
OriginConfiguration.OriginRule.OriginInfo.FileInfo
Prefix configuration for the files to pull.
Container
SuffixConfiguration
OriginConfiguration.OriginRule.OriginInfo.FileInfo
Suffix configuration for the files to pull.
Container
FixedFileConfiguration
OriginConfiguration.OriginRule.OriginInfo.FileInfo
A fixed file to pull. This parameter is left empty by default.
Container
Content of FixedFileConfiguration:
Node Name (Keyword)
Parent Node
Description
Type
FixedFilePath
OriginConfiguration.OriginRule.OriginInfo.FileInfo.FixedFileConfiguration
Path of a fixed file to pull.
String
Content of PrefixConfiguration:
Node Name (Keyword)
Parent Node
Description
Type
Prefix
OriginConfiguration.OriginRule.OriginInfo.FileInfo. PrefixConfiguration
New prefix of the files to pull. This parameter is left empty by default.
String
Content of SuffixConfiguration:
Node Name (Keyword)
Parent Node
Description
Type
Suffix
OriginConfiguration.OriginRule.OriginInfo.FileInfo. SuffixConfiguration
New suffix of the files to pull. This parameter is left empty by default.
String

Examples

Request

GET /?origin= HTTP/1.1
Host: examplebucket-1250000000.cos.ap-shanghai.myqcloud.com
Authorization: Auth String
Date: Sun, 28 Apr 2019 12:02:24 GMT

Response

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 0
Date: Sun, 28 Apr 2019 12:02:25 GMT
Server: tencent-cos
x-cos-request-id: NWNjNTk2NTFfMmM4OGY3MGFfNTI1****

<?xml version="1.0" encoding="UTF-8"?>
<OriginConfiguration>
<OriginRule>
<OriginType>Proxy</OriginType>
<OriginCondition>
<HTTPStatusCode>404</HTTPStatusCode>
<Prefix></Prefix>
</OriginCondition>
<OriginParameter>
<Protocol>FOLLOW</Protocol>
<FollowQueryString>true</FollowQueryString>
<HttpHeader>
<FollowAllHeaders>true</FollowAllHeaders>
<NewHttpHeaders>
<Header>
<Key>x-cos-ContentType</Key>
<Value>csv</Value>
</Header>
</NewHttpHeaders>
<FollowHttpHeaders>
<Header>
<Key>Content-Type</Key>
</Header>
</FollowHttpHeaders>
</HttpHeader>
<FollowRedirection>true</FollowRedirection>
</OriginParameter>
<OriginInfo>
<HostInfo>
<HostName>examplebucket-1250000000.cos.ap-shanghai.myqcloud.com</HostName>
</HostInfo>
</OriginInfo>
</OriginRule>
</OriginConfiguration>

Was this page helpful?
You can also Contact Sales or Submit a Ticket for help.
Yes
No

Feedback

Contact Us

Contact our sales team or business advisors to help your business.

Technical Support

Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

7x24 Phone Support
Hong Kong, China
+852 800 906 020 (Toll Free)
United States
+1 844 606 0804 (Toll Free)
United Kingdom
+44 808 196 4551 (Toll Free)
Canada
+1 888 605 7930 (Toll Free)
Australia
+61 1300 986 386 (Toll Free)
EdgeOne hotline
+852 300 80699
More local hotlines coming soon