समस्या का विवरण − 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'……..]