সমস্যা বিবৃতি - আপনার অ্যাকাউন্টে তৈরি একটি ডাটাবেস মুছে ফেলতে পাইথনে boto3 লাইব্রেরি ব্যবহার করুন৷
উদাহরণ - আপনার অ্যাকাউন্টে তৈরি করা একটি ডাটাবেস 'পোর্টফোলিও' মুছুন।
এই সমস্যা সমাধানের জন্য পদ্ধতি/অ্যালগরিদম
ধাপ 1 − ব্যতিক্রমগুলি পরিচালনা করতে boto3 এবং botocore ব্যতিক্রমগুলি আমদানি করুন৷
৷ধাপ 2 − প্যারামিটারটি পাস করুন ডাটাবেস_নাম যেটি AWS গ্লু ক্যাটালগ থেকে মুছে ফেলা উচিত।
ধাপ 3 - boto3 লাইব্রেরি ব্যবহার করে একটি AWS সেশন তৈরি করুন। নিশ্চিত করুন যে অঞ্চল_নাম ডিফল্ট প্রোফাইলে উল্লেখ আছে। যদি এটি উল্লেখ না থাকে, তাহলে সেশন তৈরি করার সময় স্পষ্টভাবে অঞ্চল_নামটি পাস করুন।
পদক্ষেপ 4৷ − আঠার জন্য একটি AWS ক্লায়েন্ট তৈরি করুন৷
৷ধাপ 5 − এখন delete_database ফাংশন ব্যবহার করুন এবং database_name কে Name প্যারামিটার হিসাবে পাস করুন।
ধাপ 6 - এটি ডাটাবেস মুছে ফেলবে এবং প্রতিক্রিয়া মেটাডেটা ফিরিয়ে দেবে।
পদক্ষেপ 7 − কাজ চেক করার সময় যদি কিছু ভুল হয়ে থাকে তাহলে জেনেরিক ব্যতিক্রম হ্যান্ডেল করুন।
দ্রষ্টব্য : এই ক্রিয়াকলাপটি শেষ হওয়ার পরে, ব্যবহারকারী মুছে ফেলা ডাটাবেসের মধ্যে থাকা টেবিল (এবং টেবিলের অন্তর্গত সমস্ত টেবিল সংস্করণ এবং পার্টিশন) এবং ব্যবহারকারী-সংজ্ঞায়িত ফাংশন (সঞ্চয় পদ্ধতি) অ্যাক্সেস করতে পারবেন না। AWS Glue এই "অনাথ" সংস্থানগুলিকে অসিঙ্ক্রোনাসভাবে একটি সময়মত, পরিষেবার বিবেচনার ভিত্তিতে মুছে দেয়৷
উদাহরণ
AWS Glue Data Catalog −
থেকে একটি ডাটাবেস মুছে ফেলতে নিম্নলিখিত কোডটি ব্যবহার করুনimport boto3 from botocore.exceptions import ClientError def delete_a_database(database_name): session = boto3.session.Session() glue_client = session.client('glue') try: response = glue_client.delete_database(Name=database_name) return response except ClientError as e: raise Exception( "boto3 client error in delete_a_database: " + e.__str__()) except Exception as e: raise Exception( "Unexpected error in delete_a_database: " + e.__str__()) print(delete_a_database("Portfolio"))
আউটপুট
{'ResponseMetadata': {'RequestId': '067b667f-0a74d4f30a5b', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sat, 27 Feb 2021 14:54:30 GMT', 'content-type': 'application/x-amz-json-1.1', 'contentlength': '2', 'connection': 'keep-alive', 'x-amzn-requestid': '067b667f0a10-4f99-91be-0a74d4f30a5b'}, 'RetryAttempts': 0}}