This document provides an overview of APIs and SDK code samples related to static website.
API | Operation | Description |
---|---|---|
PUT Bucket website | Setting 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.intl.cloud.tencent.com/cos5/bucket
// Replace it with your region, which can be viewed in the COS console at https://console.intl.cloud.tencent.com/. For more information about regions, see https://intl.cloud.tencent.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 at https://console.intl.cloud.tencent.com/cam/capi
SecretID: os.Getenv("SECRETID"),
// Environment variable `SECRETKEY` refers to the user's SecretId, which can be viewed at https://console.intl.cloud.tencent.com/cam/capi
SecretKey: os.Getenv("SECRETKEY"),
},
})
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 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.intl.cloud.tencent.com/cos5/bucket
// Replace it with your region, which can be viewed in the COS console at https://console.intl.cloud.tencent.com/. For more information about regions, see https://intl.cloud.tencent.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 at https://console.intl.cloud.tencent.com/cam/capi
SecretID: os.Getenv("SECRETID"),
// Environment variable `SECRETKEY` refers to the user's SecretId, which can be viewed at https://console.intl.cloud.tencent.com/cam/capi
SecretKey: os.Getenv("SECRETKEY"),
},
})
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 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.intl.cloud.tencent.com/cos5/bucket
// Replace it with your region, which can be viewed in the COS console at https://console.intl.cloud.tencent.com/. For more information about regions, see https://intl.cloud.tencent.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 at https://console.intl.cloud.tencent.com/cam/capi
SecretID: os.Getenv("SECRETID"),
// Environment variable `SECRETKEY` refers to the user's SecretId, which can be viewed at https://console.intl.cloud.tencent.com/cam/capi
SecretKey: os.Getenv("SECRETKEY"),
},
})
_, err := client.Bucket.DeleteWebsite(context.Background())
if err != nil {
// ERROR
}
}
Apakah halaman ini membantu?