Tuyên bố sự cố - Sử dụng thư viện Boto3 trong Python để xác định xem bộ chứa gốc có tồn tại trong S3 hay không.
Ví dụ - Bucket_1 tồn tại hay không trong S3.
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 head_bucket () . Nó trả về 200 OK nếu nhóm tồn tại và người dùng có quyền truy cập vào nó. Nếu không, câu trả lời sẽ là 403 Forbidden hoặc 404 Không tìm thấy .
Bước 5 - Xử lý ngoại lệ dựa trên mã phản hồi.
Bước 6 - Trả về True / False dựa trên việc nhóm có tồn tại hay không.
Ví dụ
Đoạn mã sau kiểm tra xem bộ chứa gốc có tồn tại trong S3 hay không -
import boto3 from botocore.exceptions import ClientError # To check whether root bucket exists or not def bucket_exists(bucket_name): try: session = boto3.session.Session() # User can pass customized access key, secret_key and token as well s3_client = session.client('s3') s3_client.head_bucket(Bucket=bucket_name) print("Bucket exists.", bucket_name) exists = True except ClientError as error: error_code = int(error.response['Error']['Code']) if error_code == 403: print("Private Bucket. Forbidden Access! ", bucket_name) elif error_code == 404: print("Bucket Does Not Exist!", bucket_name) exists = False return exists print(bucket_exists('bucket_1')) print(bucket_exists('AWS_bucket_1'))
Đầu ra
NhómBucket exists. bucket_1 True Bucket Does Not Exist! AWS_bucket_1 False