このトピックでは、OSS SDK for Python 2.0 を使用して、お客様の Alibaba Cloud アカウント内のすべてのベクターバケットを一覧表示する方法について説明します。この操作はページングに対応しています。
権限
デフォルトでは、Alibaba Cloud アカウントはそのリソースに対する完全な権限を持ちます。RAM ユーザーおよび RAM ロールは、デフォルトでは権限を持ちません。RAM ユーザーまたは RAM ロールがこの API を呼び出せるようにするには、Alibaba Cloud アカウントまたは RAM 管理者が、RAM ポリシーまたはバケットポリシーを使用して、RAM ユーザーまたは RAM ロールに必要な権限を付与する必要があります。
|
API |
アクション |
説明 |
|
ListVectorBuckets |
|
ベクターバケットを一覧表示します。 |
メソッドの定義
OSS SDK for Python 2.0 は、ベクターバケットを一覧表示するための次の 2 つのメソッドを提供しています。
-
list_vector_buckets():操作を直接呼び出します。ページングは手動で処理する必要があります。 -
list_vector_buckets_paginator():ページネーターを使用します。SDK がページングロジックを自動的に処理します。このメソッドの使用を推奨します。
# 直接呼び出し
list_vector_buckets(request: ListVectorBucketsRequest, **kwargs) → ListVectorBucketsResult
リクエストパラメーター
|
パラメーター |
タイプ |
説明 |
|
request |
ListVectorBucketsRequest |
詳細については、「ListVectorBucketsRequest」をご参照ください。 |
戻り値
|
タイプ |
説明 |
|
ListVectorBucketsResult |
詳細については、「ListVectorBucketsResult」をご参照ください。 |
完全なメソッド定義については、「list_vector_buckets」をご参照ください。
# ページネーターの使用
list_vector_buckets_paginator(**kwargs) → ListVectorBucketsPaginator[source]
戻り値
|
タイプ |
説明 |
|
ListVectorBucketsPaginator |
詳細については、「ListVectorBucketsPaginator」をご参照ください。 |
ページネーターを使用するメソッドの完全な定義については、「list_vector_buckets_paginator」をご参照ください。
サンプルコード
次のサンプルコードでは、ページネーターを使用してすべてのベクターバケットを一覧表示します。SDK がページングリクエストを自動で処理するため、コードが簡素化されます。
import argparse
import alibabacloud_oss_v2 as oss
import alibabacloud_oss_v2.vectors as oss_vectors
parser = argparse.ArgumentParser(description="list vector buckets sample")
parser.add_argument('--region', help='The region in which the bucket is located.', required=True)
parser.add_argument('--endpoint', help='The domain names that other services can use to access OSS')
parser.add_argument('--account_id', help='The account id.', required=True)
def main():
args = parser.parse_args()
# 環境変数から認証情報を読み込みます
credentials_provider = oss.credentials.EnvironmentVariableCredentialsProvider()
# SDK のデフォルト設定を使用します
cfg = oss.config.load_default()
cfg.credentials_provider = credentials_provider
cfg.region = args.region
cfg.account_id = args.account_id
cfg.use_internal_endpoint = True # パブリックネットワーク経由で OSS にアクセスするには、このパラメーターを False に設定するか、この行を削除します。
if args.endpoint is not None:
cfg.endpoint = args.endpoint
client = oss_vectors.Client(cfg)
# ListVectorBuckets 操作のページネーターを作成します
paginator = client.list_vector_buckets_paginator()
# ベクターバケットのページを反復処理します
for page in paginator.iter_page(oss_vectors.models.ListVectorBucketsRequest(
)
):
for o in page.buckets:
print(f'Bucket: {o.name}, {o.location}')
if __name__ == "__main__":
main()
関連ドキュメント
ベクターバケットを一覧表示する完全なサンプルコードについては、「list_vector_buckets.py」をご参照ください。