Đề bài – Sử dụng thư viện boto3 trong Python để lấy danh sách tất cả các bucket có trong AWS.
Ví dụ – Lấy tên các bucket như – BUCKET_1, BUCKET2, BUCKET_3.
Phương pháp/Thuật toán giải quyết
Bước 1 – Import boto3 và các ngoại lệ từ botocore để xử lý lỗi.
Bước 2 – Tạo phiên AWS (session) bằng thư viện Boto3.
Bước 3 – Tạo resource AWS cho S3.
Bước 4 – Sử dụng hàm buckets.all() để liệt kê tên các bucket.
Bước 5 – Xử lý bất kỳ ngoại lệ không mong muốn nào, nếu xảy ra.
Bước 6 – Trả về danh sách buckets_name.
Ví dụ
Mã sau lấy danh sách các bucket có trong S3:
import boto3
from botocore.exceptions import ClientError
# Lấy danh sách bucket có trong AWS sử dụng S3 resource
def get_buckets_resource():
session = boto3.session.Session()
# Người dùng có thể truyền access key, secret_key và token tùy chỉnh
s3_resource = session.resource('s3')
try:
buckets = list(s3_resource.buckets.all())
print("Lấy buckets bằng resource:", buckets)
except ClientError:
print("Không thể lấy buckets.")
raise
else:
return buckets
get_buckets_resource()
Kết quả
Lấy buckets bằng resource:[s3.Bucket(name='BUCKET_1'), s3.Bucket(name='BUCKET_2'), s3.Bucket(name='BUCKET_3'… ]