如何使用 Boto3 使用 AWS 客户端获取 S3 中存在的存储桶列表?
问题陈述-使用Python中的Boto3库获取AWS中存在的所有存储桶的列表
示例-获取桶的名称,如–BUCKET_1、BUCKET2、BUCKET_3
解决这个问题的方法/算法
步骤1-导入boto3和botocore异常以处理异常。
步骤2-使用Boto3库创建AWS会话。
第3步-为S3创建一个AWS客户端。
第4步-使用该函数list_buckets()将桶的所有属性存储在字典中,如ResponseMetadata、buckets
第5步-使用for 循环仅从字典中获取特定于存储桶的详细信息,例如名称、创建日期等。
第6步-现在,仅从存储桶字典中检索Name并存储在列表中。
步骤7-如果发生任何不需要的异常处理
第8步-返回buckets_name列表
示例
以下代码获取S3中存在的存储桶列表-
import boto3 frombotocore.exceptionsimport ClientError # To get list of buckets present in AWS using S3 client def get_buckets_client(): session = boto3.session.Session() # User can pass customized access key, secret_key and token as well s3_client = session.client('s3') try: response = s3_client.list_buckets() buckets =[] for bucket in response['Buckets'] buckets += {bucket["Name"]} except ClientError: print("Couldn't get buckets.") raise else: return buckets print(get_buckets_client())输出结果
['BUCKET_1', 'BUCKET_2', 'BUCKET_3'……..]