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

จะใช้ไลบรารี Boto3 ใน Python เพื่อรับรายการบัคเก็ตที่มีอยู่ใน AWS S3 ได้อย่างไร


คำชี้แจงปัญหา − ใช้ไลบรารี 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)………… ]