সমস্যা বিবৃতি − S3 তে একটি রুট বাকেট আছে কিনা তা নির্ধারণ করতে পাইথনে Boto3 লাইব্রেরি ব্যবহার করুন৷
উদাহরণ − Bucket_1 S3 তে বিদ্যমান বা নেই।
এই সমস্যা সমাধানের জন্য পদ্ধতি/অ্যালগরিদম
ধাপ 1 − ব্যতিক্রমগুলি পরিচালনা করতে boto3 এবং botocore ব্যতিক্রমগুলি আমদানি করুন৷
৷ধাপ 2 - boto3 লাইব্রেরি ব্যবহার করে একটি AWS সেশন তৈরি করুন।
ধাপ 3 - S3 এর জন্য একটি AWS রিসোর্স তৈরি করুন।
পদক্ষেপ 4৷ − head_bucket() ফাংশনটি ব্যবহার করুন . এটি 200 ঠিক আছে ফেরত দেয় যদি বালতিটি বিদ্যমান থাকে এবং ব্যবহারকারীর এটি অ্যাক্সেস করার অনুমতি থাকে। অন্যথায়, প্রতিক্রিয়া হবে 403 নিষিদ্ধ অথবা 404 পাওয়া যায়নি .
ধাপ 5 − প্রতিক্রিয়া কোডের উপর ভিত্তি করে ব্যতিক্রম পরিচালনা করুন।
ধাপ 6 − বালতি আছে কি না তার উপর ভিত্তি করে সত্য/মিথ্যা ফেরত দিন।
উদাহরণ
নিম্নলিখিত কোডটি S3 -
-এ একটি রুট বাকেট বিদ্যমান কিনা তা পরীক্ষা করেimport boto3 from botocore.exceptions import ClientError # To check whether root bucket exists or not def bucket_exists(bucket_name): try: session = boto3.session.Session() # User can pass customized access key, secret_key and token as well s3_resource = session.resource('s3') s3_resource.meta.client.head_bucket(Bucket=bucket_name) print("Bucket exists.", bucket_name) exists = True except ClientError as error: error_code = int(error.response['Error']['Code']) if error_code == 403: print("Private Bucket. Forbidden Access! ", bucket_name) elif error_code == 404: print("Bucket Does Not Exist!", bucket_name) exists = False return exists print(bucket_exists('bucket_1')) print(bucket_exists('AWS_bucket_1'))
আউটপুট
Bucket exists. bucket_1 True Bucket Does Not Exist! AWS_bucket_1 False