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