समस्या विवरण - Python में boto3 लाइब्रेरी का उपयोग करके अपने अकाउंट में बनी टेबल को डिलीट करें।
उदाहरण - डेटाबेस 'test' से टेबल 'security' डिलीट करें जो आपके अकाउंट में बनी है।
इस समस्या को हल करने का दृष्टिकोण/एल्गोरिदम
चरण 1 - अपवादों को संभालने के लिए boto3 और botocore एक्सेप्शन्स आयात करें।
चरण 2 - पैरामीटर database_name और table_name पास करें जिन्हें AWS Glue कैटलॉग से डिलीट किया जाना चाहिए।
चरण 3 - boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं। सुनिश्चित करें कि region_name डिफ़ॉल्ट प्रोफ़ाइल में उल्लिखित है। यदि नहीं बताया गया है, तो सत्र बनाते समय region_name को स्पष्ट रूप से पास करें।
चरण 4 - Glue के लिए AWS क्लाइंट बनाएं।
चरण 5 - अब delete_table फंक्शन का उपयोग करें और database_name को DatabaseName पैरामीटर और table_name को Name पैरामीटर के रूप में पास करें।
चरण 6 - यह टेबल को डिलीट करेगा और रिस्पॉन्स मेटाडेटा लौटाएगा।
चरण 7 - जॉब चेक करते समय यदि कुछ गलत हुआ तो सामान्य अपवाद को संभालें।
उदाहरण
AWS Glue डेटाबेस से टेबल डिलीट करने के लिए निम्न कोड का उपयोग करें -
import boto3 from botocore.exceptions import ClientError def delete_a_table_from_database(database_name, table_name): session = boto3.session.Session() glue_client = session.client('glue') try: response = glue_client.delete_table(DatabaseName=database_name, Name=table_name) return response except ClientError as e: raise Exception("boto3 client error in delete_a_table_from_database: " + e.__str__()) except Exception as e: raise Exception("Unexpected error in delete_a_table_from_database: " + e.__str__()) print(delete_a_table_from_database("test","security"))आउटपुट
{'ResponseMetadata': {'RequestId': '7aa7c3cb..........-8610318a238c', '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}}