tencent cloud

All product documents
Cloud Object Storage
Static Website
Last updated: 2024-02-02 15:51:37
Static Website
Last updated: 2024-02-02 15:51:37

Feature Overview

This document provides an overview of APIs and SDK code samples for static website.
API
Operation
Description
Configuring a static website configuration
Configures a static website for a bucket
Querying a static website configuration
Queries the static website configuration of a bucket
Deleting a static website configuration
Deletes the static website configuration of a bucket

Setting Static Website Configuration

Feature description

This API is used to configure a static website for a bucket.

Method prototype

func (s *BucketService) PutWebsite(ctx context.Context, opt *BucketPutWebsiteOptions) (*Response, error)

Sample request

package main

import (
"context"
"github.com/tencentyun/cos-go-sdk-v5"
"net/http"
"net/url"
"os"
)

func main(){
// Bucket name in the format of `BucketName-APPID` (`APPID` is required), which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket.
// Replace it with your region, which can be viewed in the COS console at https://console.tencentcloud.com/. For more information about regions, visit https://www.tencentcloud.com/document/product/436/6224.
u, _ := url.Parse("https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com")
b := &cos.BaseURL{BucketURL: u}
client := cos.NewClient(b, &http.Client{
Transport: &cos.AuthorizationTransport{
// Get the key from environment variables
// Environment variable `SECRETID` refers to the user's `SecretId`, which can be viewed in the CAM console at https://console.tencentcloud.com/cam/capi.
SecretID: os.Getenv("SECRETID"), // User `SecretId`. We recommend you use a sub-account key and follow the principle of least privilege to reduce risks. For information about how to obtain a sub-account key, visit https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1.
// Environment variable `SECRETKEY` refers to the user's `SecretKey`, which can be viewed in the CAM console at https://console.tencentcloud.com/cam/capi.
SecretKey: os.Getenv("SECRETKEY"), // User `SecretKey`. We recommend you use a sub-account key and follow the principle of least privilege to reduce risks. For information about how to obtain a sub-account key, visit https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1.
},
})
opt := &cos.BucketPutWebsiteOptions{
Index: "index.html",
Error: &cos.ErrorDocument{"index_backup.html"},
RoutingRules: &cos.WebsiteRoutingRules{
[]cos.WebsiteRoutingRule{
{
ConditionErrorCode: "404",
RedirectProtocol: "https",
RedirectReplaceKey: "404.html",
},
{
ConditionPrefix: "docs/",
RedirectProtocol: "https",
RedirectReplaceKeyPrefix: "documents/",
},
},
},
}
_, err := client.Bucket.PutWebsite(context.Background(), opt)
if err != nil{
// ERROR
}
}

Field description

type WebsiteRoutingRule struct {
ConditionErrorCode string
ConditionPrefix string

RedirectProtocol string
RedirectReplaceKey string
RedirectReplaceKeyPrefix string
}

type WebsiteRoutingRules struct {
Rules []WebsiteRoutingRule
}

type ErrorDocument struct {
Key string
}

type RedirectRequestsProtocol struct {
Protocol string
}

type BucketPutWebsiteOptions struct {
XMLName xml.Name
Index string
RedirectProtocol *RedirectRequestsProtocol
Error *ErrorDocument
RoutingRules *WebsiteRoutingRules
}
Parameter
Description
Type
BucketPutWebsiteOptions
Static website configuration parameters
Struct
Index
Index document
String
RedirectProtocol
Site-wide redirect protocol
Struct
Protocol
Site-wide redirect protocol. Only HTTPS is supported.
String
Error
Error document
Struct
Key
Common error response
String
RoutingRules
Multiple redirect rules. Up to 100 redirect rules can be set.
Struct
ConditionErrorCode
Redirect error code. Only 4xx status codes are supported. This has a higher priority than Error.Key.
String
ConditionPrefix
Redirect path prefix to replace with the specified "folder/" for the redirect.
String
RedirectProtocol
Redirect protocol. Only HTTPS is supported.
String
RedirectReplaceKey
Content that is used to replace the entire key.
String
RedirectReplaceKeyPrefix
Content that is used to replace the key prefix. The replacement is allowed only when Condition is KeyPrefixEquals.
String

Querying Static Website Configuration

Feature description

This API (GET Bucket website) is used to query the static website configuration associated with a bucket.

Method prototype

func (s *BucketService) GetWebsite(ctx context.Context) (*BucketGetWebsiteResult, *Response, error)

Sample request

package main

import (
"context"
"fmt"
"github.com/tencentyun/cos-go-sdk-v5"
"net/http"
"net/url"
"os"
)

func main(){
// Bucket name in the format of `BucketName-APPID` (`APPID` is required), which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket.
// Replace it with your region, which can be viewed in the COS console at https://console.tencentcloud.com/. For more information about regions, visit https://www.tencentcloud.com/document/product/436/6224.
u, _ := url.Parse("https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com")
b := &cos.BaseURL{BucketURL: u}
client := cos.NewClient(b, &http.Client{
Transport: &cos.AuthorizationTransport{
// Get the key from environment variables
// Environment variable `SECRETID` refers to the user's `SecretId`, which can be viewed in the CAM console at https://console.tencentcloud.com/cam/capi.
SecretID: os.Getenv("SECRETID"), // User `SecretId`. We recommend you use a sub-account key and follow the principle of least privilege to reduce risks. For information about how to obtain a sub-account key, visit https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1.
// Environment variable `SECRETKEY` refers to the user's `SecretKey`, which can be viewed in the CAM console at https://console.tencentcloud.com/cam/capi.
SecretKey: os.Getenv("SECRETKEY"), // User `SecretKey`. We recommend you use a sub-account key and follow the principle of least privilege to reduce risks. For information about how to obtain a sub-account key, visit https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1.
},
})
res, _, err := client.Bucket.GetWebsite(context.Background())
if err != nil{
// ERROR
}
fmt.Println(res)
}

Response description

type BucketGetWebsiteResult BucketPutWebsiteOptions
Parameter
Description
Type
BucketGetWebsiteResult
Static website configuration parameters
Struct
Index
Index document
String
RedirectProtocol
Site-wide redirect protocol
Struct
Protocol
Site-wide redirect protocol. Only HTTPS is supported.
String
Error
Common error response
Struct
Key
Common error response
String
RoutingRules
Multiple redirect rules. Up to 100 redirect rules can be set.
Struct
ConditionErrorCode
Redirect error code. Only 4xx status codes are supported. This has a higher priority than Error.Key.
String
ConditionPrefix
Redirect path prefix to replace with the specified "folder/" for the redirect.
String
RedirectProtocol
Redirect protocol. Only HTTPS is supported.
String
RedirectReplaceKey
Content that is used to replace the entire key.
String
RedirectReplaceKeyPrefix
Content that is used to replace the key prefix. The replacement is allowed only when Condition is KeyPrefixEquals.
String

Deleting Static Website Configuration

Feature description

This API (DELETE Bucket website) is used to delete the static website configuration of a bucket.

Method prototype

func (s *BucketService) DeleteWebsite(ctx context.Context) (*Response, error)

Sample request

package main

import (
"context"
"github.com/tencentyun/cos-go-sdk-v5"
"net/http"
"net/url"
"os"
)

func main(){
// Bucket name in the format of `BucketName-APPID` (`APPID` is required), which can be viewed in the COS console at https://console.tencentcloud.com/cos5/bucket.
// Replace it with your region, which can be viewed in the COS console at https://console.tencentcloud.com/. For more information about regions, visit https://www.tencentcloud.com/document/product/436/6224.
u, _ := url.Parse("https://examplebucket-1250000000.cos.ap-guangzhou.myqcloud.com")
b := &cos.BaseURL{BucketURL: u}
client := cos.NewClient(b, &http.Client{
Transport: &cos.AuthorizationTransport{
// Get the key from environment variables
// Environment variable `SECRETID` refers to the user's `SecretId`, which can be viewed in the CAM console at https://console.tencentcloud.com/cam/capi.
SecretID: os.Getenv("SECRETID"), // User `SecretId`. We recommend you use a sub-account key and follow the principle of least privilege to reduce risks. For information about how to obtain a sub-account key, visit https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1.
// Environment variable `SECRETKEY` refers to the user's `SecretKey`, which can be viewed in the CAM console at https://console.tencentcloud.com/cam/capi.
SecretKey: os.Getenv("SECRETKEY"), // User `SecretKey`. We recommend you use a sub-account key and follow the principle of least privilege to reduce risks. For information about how to obtain a sub-account key, visit https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1.
},
})
_, err := client.Bucket.DeleteWebsite(context.Background())
if err != nil{
// ERROR
}
}

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 available.

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