সমস্যা বিবৃতি − 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_client = session.client('s3')
s3_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