This document provides an overview of APIs and SDK code samples for bucket versioning.
API | Operation | Description |
---|---|---|
PUT Bucket versioning | Setting versioning | Sets versioning for a bucket |
GET Bucket versioning | Querying versioning | Queries the versioning information of a bucket |
This API (PUT Bucket versioning
) is used to set the versioning configuration for a bucket.
func (s *BucketService) PutVersioning(ctx context.Context, opt *BucketPutVersionOptions) (*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-12500000000.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.intl.cloud.tencent.com/cam/capi.
SecretID: os.Getenv("SECRETID"),
// Environment variable `SECRETKEY` refers to the user's `SecretKey`, which can be viewed in the CAM console at https://console.intl.cloud.tencent.com/cam/capi.
SecretKey: os.Getenv("SECRETKEY"),
},
})
opt := &cos.BucketPutVersionOptions{
// `Enabled` or `Suspended`; once enabled, versioning can only be paused but not deleted.
Status: "Enabled",
}
_, err := client.Bucket.PutVersioning(context.Background(), opt)
if err != nil {
panic(err)
}
}
type BucketPutVersionOptions struct {
Status string
}
Parameter | Description | Type |
---|---|---|
BucketPutVersionOptions | Versioning policies | Struct |
Status | Indicates whether versioning is enabled. Enumerated values: Suspended (versioning is paused), Enabled (versioning is enabled) |
String |
This API (GET Bucket versioning
) is used to query the versioning configuration of a bucket.
func (s *BucketService) GetVersioning(ctx context.Context) (*BucketGetVersionResult, *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-12500000000.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.intl.cloud.tencent.com/cam/capi.
SecretID: os.Getenv("SECRETID"),
// Environment variable `SECRETKEY` refers to the user's `SecretKey`, which can be viewed in the CAM console at https://console.intl.cloud.tencent.com/cam/capi.
SecretKey: os.Getenv("SECRETKEY"),
},
})
_, _, err := client.Bucket.GetVersioning(context.Background())
if err != nil {
panic(err)
}
}
type BucketGetVersionResult struct {
Status string
}
Parameter | Description | Type |
---|---|---|
BucketGetVersionResult | Versioning policies | Struct |
Status | Indicates whether versioning is enabled. Enumerated values: Suspended (versioning is paused), Enabled (versioning is enabled) |
String |
Was this page helpful?