কম্পিউটার টিউটোরিয়াল

Boto3 এবং AWS Client ব্যবহার করে S3-এ উপস্থিত বাকেটগুলির তালিকা পেতে পদ্ধতি


সমস্যা বিবরণ − 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'……..]

  1. Boto3 এবং AWS Client ব্যবহার করে S3 বাকেটের অবস্থান কীভাবে পেতে হয়?

  2. Boto3 এবং AWS Client ব্যবহার করে S3 বাকেটের লাইফসাইকেল কীভাবে পেতে হয়?

  3. Boto3 লাইব্রেরি এবং AWS Resource ব্যবহার করে শেষ পরিবর্তনের তারিখের ভিত্তিতে S3 থেকে ফাইলগুলির তালিকা পেতে পদ্ধতি

  4. Boto3 লাইব্রেরি ব্যবহার করে AWS S3-এ উপস্থিত বাকেটগুলির তালিকা পেতে পদ্ধতি