Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

วิธีใช้ Boto3 Library ใน Python ดึงรายการ Bucket ทั้งหมดใน AWS S3


ข้อกำหนดปัญหา

ใช้ Boto3 Library ใน Python เพื่อดึงรายการ Bucket ทั้งหมดที่มีอยู่ใน AWS

ตัวอย่าง

ดึงชื่อ Bucket เช่น – BUCKET_1, BUCKET_2, BUCKET_3

ขั้นตอนการแก้ปัญหา

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