tencent cloud

文档反馈

静态网站

最后更新时间:2024-01-05 17:20:37

    简介

    本文档提供关于静态网站的 API 概览以及 SDK 示例代码。
    API
    操作名
    操作描述
    设置静态网站
    设置存储桶的静态网站配置
    查询静态网站配置
    查询存储桶的静态网站配置
    删除静态网站配置
    删除存储桶的静态网站配置

    设置静态网站

    功能说明

    PUT Bucket website 用于为存储桶配置静态网站。

    方法原型

    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() {
    // 存储桶名称,由 bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.tencentcloud.com/cos5/bucket
    // 替换为用户的 region,存储桶 region 可以在 COS 控制台“存储桶概览”查看 https://console.tencentcloud.com/ ,关于地域的详情见 https://www.tencentcloud.com/document/product/436/6224?from_cn_redirect=1 。
    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{
    // 通过环境变量获取密钥
    // 环境变量 SECRETID 表示用户的 SecretId,登录访问管理控制台查看密钥,https://console.tencentcloud.com/cam/capi
    SecretID: os.Getenv("SECRETID"), // 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1
    // 环境变量 SECRETKEY 表示用户的 SecretKey,登录访问管理控制台查看密钥,https://console.tencentcloud.com/cam/capi
    SecretKey: os.Getenv("SECRETKEY"), // 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 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
    }
    参数名称
    描述
    类型
    BucketPutWebsiteOptions
    静态网站配置参数
    Struct
    Index
    指定索引文档
    String
    RedirectProtocol
    全站重定向的协议
    Struct
    Protocol
    指定全站重定向的协议,只能设置为 https
    String
    Error
    错误文档
    Struct
    Key
    指定通用错误返回
    String
    RoutingRules
    设置重定向规则,最多设置100条 RoutingRule
    Struct
    ConditionErrorCode
    指定重定向错误码,只支持配置4XX返回码,优先级高于 Error.Key
    String
    ConditionPrefix
    指定前缀重定向的路径,替换指定的 folder/
    String
    RedirectProtocol
    指定重定向规定的协议,只能设置为 https
    String
    RedirectReplaceKey
    替换整个 Key 为指定的内容
    String
    RedirectReplaceKeyPrefix
    替换匹配到的前缀为指定的内容,Conditon 为 KeyPrefixEquals 才可设置
    String

    查询静态网站配置

    功能说明

    GET Bucket website 用于查询与存储桶关联的静态网站配置信息。

    方法原型

    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() {
    // 存储桶名称,由bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.tencentcloud.com/cos5/bucket
    // 替换为用户的 region,存储桶 region 可以在 COS 控制台“存储桶概览”查看 https://console.tencentcloud.com/ ,关于地域的详情见 https://www.tencentcloud.com/document/product/436/6224?from_cn_redirect=1 。
    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{
    // 通过环境变量获取密钥
    // 环境变量 SECRETID 表示用户的 SecretId,登录访问管理控制台查看密钥,https://console.tencentcloud.com/cam/capi
    SecretID: os.Getenv("SECRETID"), // 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1
    // 环境变量 SECRETKEY 表示用户的 SecretKey,登录访问管理控制台查看密钥,https://console.tencentcloud.com/cam/capi
    SecretKey: os.Getenv("SECRETKEY"), // 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 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
    参数名称
    描述
    类型
    BucketGetWebsiteResult
    静态网站配置参数
    Struct
    Index
    指定索引文档
    String
    RedirectProtocol
    全站重定向的协议
    Struct
    Protocol
    指定全站重定向的协议,只能设置为 https
    String
    Error
    通用错误返回
    Struct
    Key
    指定通用错误返回
    String
    RoutingRules
    设置重定向规则,最多设置100条 RoutingRule
    Struct
    ConditionErrorCode
    指定重定向错误码,只支持配置4XX返回码,优先级高于 Error.Key
    String
    ConditionPrefix
    指定前缀重定向的路径,替换指定的 folder/
    String
    RedirectProtocol
    指定重定向规定的协议,只能设置为 https
    String
    RedirectReplaceKey
    替换整个 Key 为指定的内容
    String
    RedirectReplaceKeyPrefix
    替换匹配到的前缀为指定的内容,Conditon 为 KeyPrefixEquals 才可设置
    String

    删除静态网站配置

    功能说明

    DELETE Bucket website 用于删除存储桶中的静态网站配置。

    方法原型

    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() {
    // 存储桶名称,由 bucketname-appid 组成,appid 必须填入,可以在 COS 控制台查看存储桶名称。 https://console.tencentcloud.com/cos5/bucket
    // 替换为用户的 region,存储桶 region 可以在 COS 控制台“存储桶概览”查看 https://console.tencentcloud.com/ ,关于地域的详情见 https://www.tencentcloud.com/document/product/436/6224?from_cn_redirect=1 。
    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{
    // 通过环境变量获取密钥
    // 环境变量 SECRETID 表示用户的 SecretId,登录访问管理控制台查看密钥,https://console.tencentcloud.com/cam/capi
    SecretID: os.Getenv("SECRETID"), // 用户的 SecretId,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1
    // 环境变量 SECRETKEY 表示用户的 SecretKey,登录访问管理控制台查看密钥,https://console.tencentcloud.com/cam/capi
    SecretKey: os.Getenv("SECRETKEY"), // 用户的 SecretKey,建议使用子账号密钥,授权遵循最小权限指引,降低使用风险。子账号密钥获取可参见 https://www.tencentcloud.com/document/product/598/37140?from_cn_redirect=1
    },
    })
    _, err := client.Bucket.DeleteWebsite(context.Background())
    if err != nil {
    // ERROR
    }
    }
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持