ข้อกำหนดปัญหา
ใช้ Boto3 Library ใน Python เพื่อดึงรายการ Bucket ทั้งหมดที่มีอยู่ใน AWS
ตัวอย่าง
ดึงชื่อ Bucket เช่น – BUCKET_1, BUCKET_2, BUCKET_3
ขั้นตอนการแก้ปัญหา
- ขั้นตอนที่ 1 – นำเข้า
boto3และbotocore.exceptionsเพื่อจัดการข้อยกเว้น - ขั้นตอนที่ 2 – สร้าง AWS Session ด้วย Boto3 Library
- ขั้นตอนที่ 3 – สร้าง AWS Resource สำหรับ S3
- ขั้นตอนที่ 4 – ใช้ฟังก์ชัน buckets.all() เพื่อแสดงชื่อ Bucket ทั้งหมด
- ขั้นตอนที่ 5 – จัดการ Exception ที่ไม่พึงประสงค์หากเกิดขึ้น
- ขั้นตอนที่ 6 – คืนค่า List ของ buckets_name
ตัวอย่าง
โค้ดต่อไปนี้ดึงรายการ Bucket ที่มีอยู่ใน 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')... ]