This document provides an overview of APIs and SDK code samples for static website.
API | Operation | Description |
---|---|---|
PUT Bucket website | Configuring a static website configuration | Configures a static website for a bucket |
GET Bucket website | Querying a static website configuration | Queries the static website configuration of a bucket |
DELETE Bucket website | Deleting a static website configuration | Deletes the static website configuration of a bucket |
This API is used to configure a static website for a bucket.
func (s *BucketService) PutWebsite(ctx context.Context, opt *BucketPutWebsiteOptions) (*Response, error)
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
}
}
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 |
This API (GET Bucket website
) is used to query the static website configuration associated with a bucket.
func (s *BucketService) GetWebsite(ctx context.Context) (*BucketGetWebsiteResult, *Response, error)
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)
}
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 |
This API (DELETE Bucket website
) is used to delete the static website configuration of a bucket.
func (s *BucketService) DeleteWebsite(ctx context.Context) (*Response, error)
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
}
}
Apakah halaman ini membantu?