通过 ListBuckets 获取存储桶(Bucket)列表。您可以列举当前账号所有地域下符合指定条件的存储空间。
tos:ListBuckets
权限。具体操作,请参见权限配置指南。以下代码用于列举当前账号所有区域的桶。
package main import ( "context" "fmt" "github.com/volcengine/ve-tos-golang-sdk/v2/tos" ) func checkErr(err error) { if err != nil { if serverErr, ok := err.(*tos.TosServerError); ok { fmt.Println("Error:", serverErr.Error()) fmt.Println("Request ID:", serverErr.RequestID) fmt.Println("Response Status Code:", serverErr.StatusCode) fmt.Println("Response Header:", serverErr.Header) fmt.Println("Response Err Code:", serverErr.Code) fmt.Println("Response Err Msg:", serverErr.Message) } else if clientErr, ok := err.(*tos.TosClientError); ok { fmt.Println("Error:", clientErr.Error()) fmt.Println("Client Cause Err:", clientErr.Cause.Error()) } else { fmt.Println("Error:", err) } panic(err) } } func main() { var ( accessKey = os.Getenv("TOS_ACCESS_KEY") secretKey = os.Getenv("TOS_SECRET_KEY") // Bucket 对应的 Endpoint,以华北2(北京)为例:https://tos-cn-beijing.volces.com endpoint = "https://tos-cn-beijing.volces.com" region = "cn-beijing" ) // 初始化客户端 client, err := tos.NewClientV2(endpoint, tos.WithRegion(region), tos.WithCredentials(tos.NewStaticCredentials(accessKey, secretKey))) checkErr(err) // 列举账号下 Bucket output, err := client.ListBuckets(context.Background(), &tos.ListBucketsInput{}) checkErr(err) fmt.Println("List Buckets Request ID:", output.RequestID) fmt.Println("List Buckets Response Code:", output.StatusCode) for _, bkt := range output.Buckets { fmt.Println("Bucket Name:", bkt.Name) fmt.Println("Bucket CreationDate:", bkt.CreationDate) fmt.Println("Bucket Location:", bkt.Location) fmt.Println("Bucket ExtranetEndpoint:", bkt.ExtranetEndpoint) fmt.Println("Bucket IntranetEndpoint:", bkt.IntranetEndpoint) } }
关于列举桶的 API 文档,请参见 ListBuckets。