문제 설명 − Python에서 Boto3 라이브러리를 사용하여 AWS에 있는 모든 버킷 목록 가져오기
예 − BUCKET_1, BUCKET2, BUCKET_3과 같은 버킷 이름 가져오기
이 문제를 해결하기 위한 접근 방식/알고리즘
1단계 − boto3 및 botocore 예외를 가져와 예외를 처리합니다.
2단계 − Boto3 라이브러리를 사용하여 AWS 세션을 생성합니다.
3단계 − S3용 AWS 클라이언트를 생성합니다.
4단계 − list_buckets() 함수를 사용하여 ResponseMetadata, buckets와 같은 사전에 버킷의 모든 속성을 저장합니다.
5단계 − 용 사용 이름, 생성 날짜 등과 같은 사전에서 버킷 관련 세부 정보만 가져오는 루프
6단계 − 이제 이름만 검색 버킷 사전에서 가져와 목록에 저장합니다.
7단계 − 원치 않는 예외가 발생하면 처리
8단계 − buckets_name 목록 반환
예시
다음 코드는 S3에 있는 버킷 목록을 가져옵니다. -
import boto3 from botocore.exceptions import 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'……..]