คำชี้แจงปัญหา − ใช้ไลบรารี boto3 ใน Python เพื่อรับรายการบัคเก็ตทั้งหมดที่มีอยู่ใน AWS
ตัวอย่าง − รับชื่อถังเช่น – BUCKET_1, BUCKET2, BUCKET_3
แนวทาง/อัลกอริทึมในการแก้ปัญหานี้
ขั้นตอนที่ 1 - นำเข้าข้อยกเว้น boto3 และ botocore เพื่อจัดการกับข้อยกเว้น
ขั้นตอนที่ 2 − สร้างเซสชัน AWS โดยใช้ไลบรารี Boto3
ขั้นตอนที่ 3 − สร้างทรัพยากร AWS สำหรับ S3
ขั้นตอนที่ 4 − ใช้ฟังก์ชัน buckets.all() เพื่อแสดงรายการชื่อที่ฝากข้อมูล
ขั้นตอนที่ 5 − จัดการกับข้อยกเว้นที่ไม่ต้องการ หากเกิดขึ้น
ขั้นตอนที่ 6 − กลับรายการของ buckets_namev
ตัวอย่าง
รหัสต่อไปนี้รับรายการของที่ฝากข้อมูลที่มีอยู่ใน S3 -
import boto3 from botocore.exceptions import ClientError # To get list of buckets present in AWS using S3 resource def get_buckets_resource(): session = boto3.session.Session() # User can pass customized access key, secret_key and token as well s3_resource = session.resource('s3') try: buckets = list(s3_resource.buckets.all()) print("Got buckets using resource:", buckets) except ClientError: print("Couldn't get buckets.") raise else: return buckets get_buckets_resource()
ผลลัพธ์
Got buckets using resource:[s3.Bucket(name='BUCKET_1'), s3.Bucket(name='BUCKET_2'), s3.Bucket(name='BUCKET_3)………… ]