समस्या का विवरण - अपने खाते में बनाई गई विशिष्ट संस्करण की तालिका को हटाने के लिए पायथन में boto3 लाइब्रेरी का उपयोग करें।
उदाहरण - आपके खाते में बनाए गए डेटाबेस 'परीक्षण' से तालिका 'सुरक्षा' संस्करण 1 को हटा दें।
इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम
चरण 1 - अपवादों को संभालने के लिए boto3 और botocore अपवाद आयात करें।
चरण 2 - पैरामीटर डेटाबेस_नाम, टेबल_नाम और वर्जन_आईडी पास करें जिसे एडब्ल्यूएस ग्लू कैटलॉग से हटा दिया जाना चाहिए।
चरण 3 - boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं। सुनिश्चित करें कि डिफ़ॉल्ट प्रोफ़ाइल में क्षेत्र_नाम का उल्लेख किया गया है। यदि इसका उल्लेख नहीं है, तो सत्र बनाते समय स्पष्ट रूप से क्षेत्र_नाम पास करें।
चरण 4 - गोंद के लिए AWS क्लाइंट बनाएं।
चरण 5 - अब delete_table_version फ़ंक्शन का उपयोग करें और डेटाबेस_नाम को DatabaseName पैरामीटर के रूप में, table_name को TableName पैरामीटर के रूप में और version_id को VersionId पैरामीटर के रूप में पास करें। कृपया याद रखें, वर्जन आईडी स्ट्रिंग है इसलिए इसे '' 'में पास किया जाना चाहिए और उपयोगकर्ता किसी तालिका के नवीनतम संस्करण को हटा नहीं सकता है। तालिका के केवल पुराने संस्करण को हटाया जा सकता है यदि उपयोगकर्ता नवीनतम संस्करण को हटाना चाहता है तो delete_table फ़ंक्शन का उपयोग करके तालिका को छोड़ दें ।
चरण 6 - यह तालिका के पुराने विशिष्ट संस्करण को हटा देगा और प्रतिक्रिया मेटाडेटा लौटाएगा।
चरण 7 - कार्य की जाँच करते समय कुछ गलत होने पर सामान्य अपवाद को संभालें।
उदाहरण
एडब्ल्यूएस ग्लू डेटाबेस से तालिका के विशिष्ट संस्करण को हटाने के लिए निम्नलिखित कोड का उपयोग करें -
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}}