সমস্যা বিবরণ − Python-এ Boto3 লাইব্রেরি ব্যবহার করে AWS-এ উপস্থিত সব বাকেটের তালিকা আনা।
উদাহরণ − বাকেটের নাম পাওয়া যাক যেন − BUCKET_1, BUCKET2, BUCKET_3
এই সমস্যাটি সমাধানের পদ্ধতি/এলগরিদম
ধাপ ১ − boto3 এবং botocore.exceptions ইমপোর্ট করুন এক্সেপশন হ্যান্ডলিং-এর জন্য।
ধাপ ২ − Boto3 লাইব্রেরি ব্যবহার করে একটি AWS সেশন তৈরি করুন।
ধাপ ৩ − S3-এর জন্য একটি AWS ক্লায়েন্ট তৈরি করুন।
ধাপ ৪ − list_buckets() ফাংশনটি ব্যবহার করে সব বাকেটের প্রপার্টিগুলো একটি ডিকশনারিতে সংরক্ষণ করুন যেমন ResponseMetadata, buckets।
ধাপ ৫ − for লুপ ব্যবহার করে ডিকশনারি থেকে শুধু বাকেট-নির্দিষ্ট বিবরণ বের করুন যেমন Name, Creation Date, ইত্যাদি।
ধাপ ৬ − এখন বাকেট ডিকশনারি থেকে শুধু Name বের করে একটি লিস্টে সংরক্ষণ করুন।
ধাপ ৭ − যদি কোনো অনিচ্ছাকৃত এক্সেপশন হয় তবে হ্যান্ডেল করুন।
ধাপ ৮ − বাকেটের নামের লিস্ট রিটার্ন করুন।
উদাহরণ
S3-এ উপস্থিত বাকেট들의 তালিকা পেতে নিচের কোডটি ব্যবহার করুন −
import boto3
from botocore.exceptions import ClientError
# S3 ক্লায়েন্ট ব্যবহার করে AWS-এ উপস্থিত বাকেট들의 তালিকা পেতে
def get_buckets_client():
session = boto3.session.Session()
# ইউজার কাস্টমাইজড এক্সেস কী, সিক্রেট কী এবং টোকেনও পাস করতে পারেন
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'……..]