समस्या का विवरण − AWS में मौजूद सभी बकेट की सूची प्राप्त करने के लिए Python में Boto3 लाइब्रेरी का उपयोग करें
उदाहरण - बकेट का नाम प्राप्त करें जैसे - BUCKET_1, BUCKET2, BUCKET_3
इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम
चरण 1 - अपवादों को संभालने के लिए boto3 और botocore अपवाद आयात करें।
चरण 2 - Boto3 लाइब्रेरी का उपयोग करके AWS सेशन बनाएं।
चरण 3 - S3 के लिए AWS क्लाइंट बनाएं।
चरण 4 - रिस्पॉन्समेटाडेटा, बकेट जैसे शब्दकोश में बाल्टी के सभी गुणों को संग्रहीत करने के लिए फ़ंक्शन list_buckets() का उपयोग करें
चरण 5 - के लिए . का उपयोग करें नाम, निर्माण तिथि, आदि जैसे शब्दकोश से केवल बाल्टी-विशिष्ट विवरण प्राप्त करने के लिए लूप।
चरण 6 - अब, केवल नाम retrieve को पुनः प्राप्त करें बकेट डिक्शनरी से एक सूची में स्टोर करें।
चरण 7 − कोई अवांछित अपवाद होने पर उसे हैंडल करें
चरण 8 -बाल्टी_नाम की सूची लौटाएं
उदाहरण
निम्नलिखित कोड को S3 में मौजूद बकेट की सूची मिलती है -
import boto3
from botocore.exceptions import ClientError
# To get list of buckets present in AWS using S3 client
def get_buckets_client():
session = boto3.session.Session()
# User can pass customized access key, secret_key and token as well
s3_client = session.client('s3')
try:
response = s3_client.list_buckets()
buckets =[]
for bucket in response['Buckets']
buckets += {bucket["Name"]}
except ClientError:
print("Couldn't get buckets.")
raise
else:
return buckets
print(get_buckets_client()) आउटपुट
['BUCKET_1', 'BUCKET_2', 'BUCKET_3'……..]