Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để sử dụng Boto3 để có được danh sách các nhóm hiện diện trong S3 bằng AWS Client?

Tuyên bố sự cố - Sử dụng thư viện Boto3 trong Python để lấy danh sách tất cả các nhóm có trong AWS

Ví dụ - Nhận tên của các nhóm như - BUCKET_1, BUCKET2, BUCKET_3

Phương pháp tiếp cận / Thuật toán để giải quyết vấn đề này

Bước 1 - Nhập các ngoại lệ boto3 và botocore để xử lý các ngoại lệ.

Bước 2 - Tạo phiên AWS bằng thư viện Boto3.

Bước 3 - Tạo ứng dụng AWS cho S3.

Bước 4 - Sử dụng hàm list_buckets () để lưu trữ tất cả các thuộc tính của nhóm trong từ điển như ResponseMetadata, bucket

Bước 5 - Sử dụng cho vòng lặp để chỉ lấy thông tin chi tiết về nhóm cụ thể từ từ điển như Tên, Ngày tạo, v.v.

Bước 6 - Bây giờ, chỉ truy xuất Tên từ từ điển nhóm và lưu trữ trong một danh sách.

Bước 7 - Xử lý mọi ngoại lệ không mong muốn nếu nó xảy ra

Bước 8 - Trả lại danh sách bucket_name

Ví dụ

Đoạn mã sau lấy danh sách các nhóm có trong 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())

Đầu ra

['BUCKET_1', 'BUCKET_2', 'BUCKET_3'……..]