Go SDK V2 を使用して ListVectorBuckets API を呼び出すことができます。この API は、お使いの Alibaba Cloud アカウント内のすべてのベクターバケットを一覧表示し、ページ分割クエリをサポートします。
権限
デフォルトでは、Alibaba Cloud アカウントはそのリソースに対する完全な権限を持ちます。RAM ユーザーおよび RAM ロールは、デフォルトでは権限を持ちません。RAM ユーザーまたは RAM ロールがこの API を呼び出せるようにするには、Alibaba Cloud アカウントまたは RAM 管理者が、RAM ポリシーまたはバケットポリシーを使用して、RAM ユーザーまたは RAM ロールに必要な権限を付与する必要があります。
|
API |
アクション |
説明 |
|
ListVectorBuckets |
|
ベクターバケットを一覧表示します。 |
メソッド定義
func (c *VectorsClient) NewListVectorBucketsPaginator(params *ListVectorBucketsRequest, optFns ...func(*Options)) *ListVectorBucketsPaginator
リクエストパラメーター
|
パラメーター名 |
タイプ |
説明 |
|
params |
*ListVectorBucketsRequest |
リクエストパラメーターを指定します。詳細については、「ListVectorBucketsRequest」をご参照ください。 |
|
optFns |
...func(*Options) |
オプション。インターフェイスレベルの設定パラメーターです。 詳細については、「Options」をご参照ください。 |
戻り値
|
パラメーター名 |
タイプ |
説明 |
|
result |
*ListVectorBucketsPaginator |
ベクターバケットのリストを走査するために使用されるページネーターです。詳細については、「ListVectorBucketsPaginator」をご参照ください。 |
例
package main
import (
"context"
"flag"
"log"
"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss"
"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/credentials"
"github.com/aliyun/alibabacloud-oss-go-sdk-v2/oss/vectors"
)
var (
region string
accountId string
)
func init() {
flag.StringVar(®ion, "region", "", "ベクターバケットが配置されているリージョン。")
flag.StringVar(&accountId, "account-id", "", "Alibaba Cloud アカウントの ID。")
}
func main() {
flag.Parse()
if len(region) == 0 {
flag.PrintDefaults()
log.Fatalf("invalid parameters, region required")
}
if len(accountId) == 0 {
flag.PrintDefaults()
log.Fatalf("invalid parameters, accounId required")
}
cfg := oss.LoadDefaultConfig().
WithCredentialsProvider(credentials.NewEnvironmentVariableCredentialsProvider()).
WithRegion(region).WithAccountId(accountId).
// パブリックネットワーク経由でサービスにアクセスするには、これを false に設定するか、この行を削除します。
WithUseInternalEndpoint(true)
client := vectors.NewVectorsClient(cfg)
request := &vectors.ListVectorBucketsRequest{}
p := client.NewListVectorBucketsPaginator(request)
var i int
log.Println("Vector Buckets:")
for p.HasNext() {
i++
page, err := p.NextPage(context.TODO())
if err != nil {
log.Fatalf("failed to get page %v, %v", i, err)
}
// 見つかったバケットをログに記録します。
for _, b := range page.Buckets {
log.Printf("Bucket:%v, %v, %v\n", oss.ToString(b.Name), oss.ToString(b.ResourceGroupId), oss.ToString(b.Location))
}
}
}
関連ドキュメント
完全なサンプルコードについては、「list_vector_buckets.go」をご参照ください。