समस्या का विवरण − अपने खाते में बनाए गए ग्लू जॉब को हटाने के लिए पायथन में boto3 लाइब्रेरी का उपयोग करें।
उदाहरण − आपके खाते में बनाए गए ग्लू जॉब 'transfer_from_s3' को मिटा दें।
इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम
चरण 1 - अपवादों को संभालने के लिए boto3 और botocore अपवाद आयात करें।
चरण 2 - पैरामीटर जॉब_नाम पास करें जिसे एडब्ल्यूएस ग्लू कैटलॉग से हटा दिया जाना चाहिए।
चरण 3 - boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं। सुनिश्चित करें कि डिफ़ॉल्ट प्रोफ़ाइल में क्षेत्र_नाम का उल्लेख किया गया है। यदि इसका उल्लेख नहीं है, तो सत्र बनाते समय स्पष्ट रूप से क्षेत्र_नाम पास करें।
चरण 4 - गोंद के लिए AWS क्लाइंट बनाएं।
चरण 5 - अब delete_job फ़ंक्शन का उपयोग करें और job_name को JobName पैरामीटर के रूप में पास करें।
चरण 6 - यह कार्य को हटा देगा और प्रतिक्रिया मेटाडेटा लौटाएगा।
चरण 7 - कार्य की जाँच करते समय कुछ गलत होने पर सामान्य अपवाद को संभालें।
नोट - इस ऑपरेशन के पूरा होने के बाद, यह एक निर्दिष्ट कार्य परिभाषा को हटा देता है। अगर एडब्ल्यूएस गोंद में नौकरी नहीं मिलती है, तो यह कोई अपवाद नहीं फेंकता है और अगर यह किसी को हटा देता है तो आउटपुट समान होता है।
उदाहरण
AWS ग्लू से ग्लू जॉब को हटाने के लिए निम्नलिखित कोड का उपयोग करें:
import boto3 from botocore.exceptions import ClientError def delete_a_glue_job(job_name): session = boto3.session.Session() glue_client = session.client('glue') try: response = glue_client.delelte_job(JobName=job_name) return response except ClientError as e: raise Exception( "boto3 client error in delete_a_glue_job: " + e.__str__()) except Exception as e: raise Exception( "Unexpected error in delete_a_glue_job: " + e.__str__()) print(delete_a_glue_job("transfer_from_s3"))
आउटपुट
{'JobName': ' transfer_from_s3', 'ResponseMetadata': {'RequestId': '126adb54-f0a0-4558-b345-d6a4e62674f3', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sat, 27 Feb 2021 15:53:27 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '22', 'connection': 'keep-alive', 'x-amzn-requestid': '126adb54-……….-d6a4e62674f3'}, 'RetryAttempts': 0}}