কম্পিউটার

Boto3 এবং AWS ক্লায়েন্ট ব্যবহার করে একটি S3 বালতি বিদ্যমান কিনা তা পরীক্ষা করতে ওয়েটার কীভাবে ব্যবহার করবেন?


এই প্রবন্ধে, আমরা দেখব কিভাবে Boto3 লাইব্রেরি এবং ওয়েটার কার্যকারিতা ব্যবহার করতে হয় যে S3 বালতি আছে কি না তা যাচাই করতে। উদাহরণস্বরূপ, S3

এ Bucket_1 বিদ্যমান কিনা তা পরীক্ষা করতে ওয়েটার ব্যবহার করুন৷

এই সমস্যা সমাধানের জন্য পদ্ধতি/অ্যালগরিদম

ধাপ 1 − ব্যতিক্রমগুলি পরিচালনা করতে boto3 এবং botocore ব্যতিক্রমগুলি আমদানি করুন৷

ধাপ 2 − ফাংশনে প্যারামিটার হিসাবে bucket_name ব্যবহার করুন।

ধাপ 3 - boto3 লাইব্রেরি ব্যবহার করে একটি AWS সেশন তৈরি করুন।

পদক্ষেপ 4৷ - S3 এর জন্য একটি AWS ক্লায়েন্ট তৈরি করুন।

ধাপ 5 − এখন bucket_exists-এর জন্য অপেক্ষার বস্তু তৈরি করুন get_waiter ব্যবহার করে ফাংশন।

ধাপ 6 − এখন, বালতি আছে কি না তা যাচাই করতে অপেক্ষা বস্তুটি ব্যবহার করুন। ডিফল্টরূপে, এটি প্রতি 5 সেকেন্ডে একটি সফল অবস্থায় না পৌঁছানো পর্যন্ত পরীক্ষা করে। 20টি ব্যর্থ চেকের পরে একটি ত্রুটি ফেরত দেওয়া হয়৷ যাইহোক, ব্যবহারকারী ভোটদানের সময় এবং সর্বোচ্চ প্রচেষ্টা নির্ধারণ করতে পারেন।

পদক্ষেপ 7 - এটি কোনটিই ফেরত দেয় না।

ধাপ 8 − বালতি চেক করার সময় কিছু ভুল হলে জেনেরিক ব্যতিক্রমটি পরিচালনা করুন।

উদাহরণ

bucket_exist কি না −

তা পরীক্ষা করতে ওয়েটার ব্যবহার করতে নিম্নলিখিত কোডটি ব্যবহার করুন
 boto3from botocore.exceptions import ClientErrordef use_waiters_check_bucket_exists(bucket_name):session =boto3.session.Session(profile_name='saml') s3_client =session.client('s3') চেষ্টা করুন:waiter_ext'waiter_client's3. ) waiter.wait(Bucket=bucket_name, WaiterConfig={ 'বিলম্ব':2, 'MaxAttempts':5}) প্রিন্ট ('বালতি বিদ্যমান:' + bucket_name) ব্যতীত ClientError হিসাবে e:raise Exception( "boto3 ক্লায়েন্ট ত্রুটি use_waiters_exists_check_bucket " + e.__str__()) ব্যতিক্রম ব্যতীত e হিসাবে:raise Exception( "use_waiters_check_bucket_exists এ অপ্রত্যাশিত ত্রুটি:" + e.__str__())মুদ্রণ(use_waiters_check_bucket_exists("Bucket_1"))print(use_waiters_check_bucket_Bucket_Bucket_exists") প্রাক> 

আউটপুট

বালতি বিদ্যমান:Bucket_1Nonebotocore.exceptions.WaiterError:Waiter BucketExists ব্যর্থ হয়েছে:Maxattempts exceeded"Use_waiters_check_bucket_exists-এ অপ্রত্যাশিত ত্রুটি:" + e.__str__())ব্যতিক্রম:অপ্রত্যাশিত ত্রুটি:ওয়েটার-এক্সপ্রেসিস্টস ব্যর্থ হয়েছে 

Bucket_1 এর জন্য, আউটপুট হল প্রিন্ট স্টেটমেন্ট এবং None। যেহেতু প্রতিক্রিয়া কিছুই ফেরত দেয় না, এটি কোনটিই প্রিন্ট করে না।

Bucket_2 এর জন্য, আউটপুট একটি ব্যতিক্রম, যেহেতু এই বালতিটি বিদ্যমান নেই।

ব্যতিক্রমে, এটি পড়া যেতে পারে যে সর্বোচ্চ প্রচেষ্টা অতিক্রম করেছে।


  1. S3 তে একটি রুট বাকেট বিদ্যমান কিনা তা নির্ধারণ করতে Boto3 এবং AWS ক্লায়েন্ট কীভাবে ব্যবহার করবেন?

  2. S3 তে একটি রুট বাকেট বিদ্যমান কিনা তা নির্ধারণ করতে Boto3 এবং AWS রিসোর্স কিভাবে ব্যবহার করবেন?

  3. AWS ক্লায়েন্ট ব্যবহার করে S3 এ উপস্থিত বালতিগুলির একটি তালিকা পেতে Boto3 কীভাবে ব্যবহার করবেন?

  4. পাইথন ব্যবহার করে একটি ফাইল বিদ্যমান কিনা তা আমি কিভাবে পরীক্ষা করব?