You need to enable JavaScript to run this app.
导航

列举桶(Go SDK)

最近更新时间2024.02.04 18:30:55

首次发布时间2021.12.31 17:38:36

通过 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