কম্পিউটার

Boto3 এবং AWS ক্লায়েন্ট ব্যবহার করে bucket_not_exists এর জন্য ওয়েটার কার্যকারিতা কিভাবে ব্যবহার করবেন?


সমস্যা বিবৃতি - ওয়েটার কার্যকারিতা ব্যবহার করে একটি বালতি বিদ্যমান নেই কিনা তা পরীক্ষা করতে পাইথনে boto3 লাইব্রেরি ব্যবহার করুন৷ উদাহরণস্বরূপ, S3 এ Bucket_2 বিদ্যমান নেই কিনা তা পরীক্ষা করতে ওয়েটার ব্যবহার করুন।

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

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

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

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

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

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

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

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

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

উদাহরণ

bucket_not_exists −

কিনা তা পরীক্ষা করতে ওয়েটার ব্যবহার করতে নিম্নলিখিত কোডটি ব্যবহার করুন
 boto3from botocore.exceptions import ClientErrordef use_waiters_check_bucket_not_exists(bucket_name):session =boto3.session.Session() s3_client =session.client('s3') চেষ্টা করুন:ওয়েটার =s3_client('s3') অপেক্ষা করুন Bucket=bucket_name, WaiterConfig={ 'বিলম্ব':2, 'MaxAttempts':5}) মুদ্রণ('বালতি বিদ্যমান নেই:' + bucket_name) ব্যতীত ক্লায়েন্ট এরর হিসাবে e:raise Exception( "boto3 ক্লায়েন্ট এরর in use_waiters_check_bucket_" +eexists. __str__()) ব্যতিক্রম ব্যতীত e হিসাবে:raise Exception( "use_waiters_check_bucket_not_exists-এ অপ্রত্যাশিত ত্রুটি:" + e.__str__())মুদ্রণ(use_waiters_check_bucket_not_exists("Bucket_2"))print(use_waiters_check_bucket_not_exists("Bucket_2"))print(use_waiters_check_bucket_no") 

আউটপুট

বালতি বিদ্যমান নেই:Bucket_2Nonebotocore.exceptions.WaiterError:Waiter BucketNotExists ব্যর্থ হয়েছে:Maxattempts exceeded"Use_waiters_check_bucket_not_exists-এ অপ্রত্যাশিত ত্রুটি:" +e.__str__())ব্যতিক্রম:Bucket_2Nonebotocore.exceptions.Exceptions:Unexpected_buckets/bucket_notExceptions.> 

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

Bucket_1 এর জন্য, আউটপুটটি একটি ব্যতিক্রম, যেহেতু এই বালতিটি চেক করার সর্বোচ্চ প্রচেষ্টার পরেও বিদ্যমান।

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


  1. AWS রিসোর্স ব্যবহার করে S3 এ একটি বস্তু আপলোড করতে পাইথনে Boto3 লাইব্রেরি কীভাবে ব্যবহার করবেন?

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

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

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