This document provides sample code for quickly checking whether a bucket exists.
The sample code actually calls the HEAD Bucket COS API and is a simplified version of the API.
In addition to checking whether a bucket exists, HEAD Bucket
also checks whether you have permission to access the bucket. Possible scenarios are as follows:
You can check whether a bucket exists by using the shortcut API provided by the SDK.
Note:The COS Go SDK version should not be earlier than v0.7.33.
func (s *BucketService) IsExist(ctx context.Context) (isExist bool, err 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 SecretKey, which can be viewed at https://console.intl.cloud.tencent.com/cam/capi
SecretKey: os.Getenv("SECRETKEY"),
},
})
ok, err := client.Bucket.IsExist(context.Background())
if err == nil && ok {
fmt.Printf("bucket exists\n")
} else if err != nil {
fmt.Printf("head bucket failed: %v\n", err)
} else {
fmt.Printf("bucket does not exist\n")
}
}
Parameter | Description | Type |
---|---|---|
isExist | Whether the bucket exists | bool |
err | Whether the request is successful | struct |
Apakah halaman ini membantu?