সমস্যা বিবৃতি − আপনার অ্যাকাউন্টে তৈরি নির্দিষ্ট সংস্করণের একটি টেবিল মুছে ফেলতে পাইথনে boto3 লাইব্রেরি ব্যবহার করুন৷
উদাহরণ − আপনার অ্যাকাউন্টে তৈরি করা ডেটাবেস 'পরীক্ষা' থেকে একটি টেবিল 'নিরাপত্তা' সংস্করণ 1 মুছুন৷
এই সমস্যা সমাধানের জন্য পদ্ধতি/অ্যালগরিদম
ধাপ 1 − ব্যতিক্রমগুলি পরিচালনা করতে boto3 এবং botocore ব্যতিক্রমগুলি আমদানি করুন৷
৷ধাপ 2 − প্যারামিটার ডেটাবেস_নাম, টেবিল_নাম এবং সংস্করণ_আইডি পাস করুন যা AWS গ্লু ক্যাটালগ থেকে মুছে ফেলা উচিত।
ধাপ 3 - boto3 লাইব্রেরি ব্যবহার করে একটি AWS সেশন তৈরি করুন। নিশ্চিত করুন যে অঞ্চল_নাম ডিফল্ট প্রোফাইলে উল্লেখ আছে। যদি এটি উল্লেখ না থাকে, তাহলে সেশন তৈরি করার সময় স্পষ্টভাবে অঞ্চল_নামটি পাস করুন।
পদক্ষেপ 4৷ − আঠার জন্য একটি AWS ক্লায়েন্ট তৈরি করুন৷
৷ধাপ 5 − এখন delete_table_version ফাংশন ব্যবহার করুন এবং database_name কে DatabaseName প্যারামিটার, table_name কে TableName প্যারামিটার এবং version_id VersionId প্যারামিটার হিসাবে পাস করুন। অনুগ্রহ করে মনে রাখবেন, VersionId হল স্ট্রিং তাই এটিকে ‘’ এ পাস করা উচিত এবং ব্যবহারকারী টেবিলের সর্বশেষ সংস্করণ মুছতে পারবেন না। শুধুমাত্র একটি টেবিলের পুরানো সংস্করণ মুছে ফেলা যেতে পারে যদি ব্যবহারকারী সর্বশেষ সংস্করণ মুছতে চান তাহলে delete_table ফাংশন ব্যবহার করে টেবিলটি ফেলে দিন .
ধাপ 6 - এটি টেবিলের পুরানো নির্দিষ্ট সংস্করণ মুছে ফেলবে এবং প্রতিক্রিয়া মেটাডেটা ফিরিয়ে দেবে।
পদক্ষেপ 7 − কাজ চেক করার সময় যদি কিছু ভুল হয়ে থাকে তাহলে জেনেরিক ব্যতিক্রম হ্যান্ডেল করুন।
উদাহরণ
AWS Glue ডাটাবেস -
থেকে টেবিলের একটি নির্দিষ্ট সংস্করণ মুছে ফেলতে নিম্নলিখিত কোডটি ব্যবহার করুনimport boto3 from botocore.exceptions import ClientError def delete_a_table_version_from_database(database_name, table_name, version_id:str): session = boto3.session.Session() glue_client = session.client('glue') try: response = glue_client.delelte_table_version(DatabaseName= database_name, Name = table_name, VersionId = version_id) return response except ClientError as e: raise Exception( "boto3 client error in delete_a_table_version_from_database: " + e.__str__()) except Exception as e: raise Exception( "Unexpected error in delete_a_table_version_from_database: " + e.__str__()) print(delete_a_table_version_from_database("test","security","1"))
আউটপুট
{'ResponseMetadata': {'RequestId': '7aa7c3cb…………….-…….8a238c', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sun, 21 Feb 2021 04:58:04 GMT', 'content-type': 'application/x-amz-json-1.1', 'contentlength': '2', 'connection': 'keep-alive', 'x-amzn-requestid': '7aa7c3cbf611-494e-b923-8610318a238c'}, 'RetryAttempts': 0}}