tencent cloud

文档反馈

静态网站

最后更新时间:2022-01-24 12:21:37

    简介

    本文档提供关于静态网站的 API 概览以及 SDK 示例代码。

    API 操作名 操作描述
    PUT Bucket website 设置静态网站 设置存储桶的静态网站配置
    GET Bucket website 查询静态网站配置 查询存储桶的静态网站配置
    DELETE Bucket website 删除静态网站配置 删除存储桶的静态网站配置

    设置静态网站

    功能说明

    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 。
       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"),
               // 环境变量 SECRETKEY 表示用户的 SecretKey,登录访问管理控制台查看密钥,https://console.tencentcloud.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
    }
    
    参数名称 描述 类型
    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 。
       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"),
               // 环境变量 SECRETKEY 表示用户的 SecretKey,登录访问管理控制台查看密钥,https://console.tencentcloud.com/cam/capi
               SecretKey: os.Getenv("SECRETKEY"),
           },
       })
       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 。
       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"),
               // 环境变量 SECRETKEY 表示用户的 SecretKey,登录访问管理控制台查看密钥,https://console.tencentcloud.com/cam/capi
               SecretKey: os.Getenv("SECRETKEY"),
           },
       })
       _, err := client.Bucket.DeleteWebsite(context.Background())
       if err != nil {
           // ERROR
       }
    }
    
    联系我们

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

    技术支持

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

    7x24 电话支持