समस्या विवरण - Python में boto3 लाइब्रेरी का उपयोग करके अपने अकाउंट में बने Glue जॉब को डिलीट करें।
उदाहरण - अपने अकाउंट में बने Glue जॉब 'transfer_from_s3' को डिलीट करें।
इस समस्या को हल करने का दृष्टिकोण/एल्गोरिदम
चरण 1 - अपवादों को संभालने के लिए boto3 और botocore एक्सेप्शन्स आयात करें।
चरण 2 - पैरामीटर job_name पास करें जिसे AWS Glue कैटलॉग से डिलीट किया जाना चाहिए।
चरण 3 - boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं। सुनिश्चित करें कि region_name डिफ़ॉल्ट प्रोफ़ाइल में उल्लिखित है। यदि नहीं बताया गया है, तो सत्र बनाते समय region_name को स्पष्ट रूप से पास करें।
चरण 4 - Glue के लिए AWS क्लाइंट बनाएं।
चरण 5 - अब delete_job फंक्शन का उपयोग करें और job_name को JobName पैरामीटर के रूप में पास करें।
चरण 6 - यह जॉब को डिलीट करेगा और रिस्पॉन्स मेटाडेटा लौटाएगा।
चरण 7 - जॉब चेक करते समय यदि कुछ गलत हुआ तो सामान्य अपवाद को संभालें।
नोट - इस ऑपरेशन के पूरा होने पर, यह निर्दिष्ट जॉब परिभाषा को डिलीट करता है। यदि जॉब AWS Glue में नहीं मिलता है, तो यह कोई अपवाद नहीं फेंकता और आउटपुट वैसा ही होता है जैसे यह किसी को डिलीट करता है।
उदाहरण
AWS Glue से Glue जॉब डिलीट करने के लिए निम्न कोड का उपयोग करें:
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.delete_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}}