जब कोई उपयोगकर्ता AWS डेटा कैटलॉग से वर्कफ़्लो हटाना चाहता है।
उदाहरण - अपने खाते से कार्यप्रवाह 'परीक्षण' हटाएं।
समस्या का विवरण - अपने खाते में उपलब्ध वर्कफ़्लो को हटाने के लिए पायथन में boto3 लाइब्रेरी का उपयोग करें।
इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम
चरण 1 - अपवादों को संभालने के लिए boto3 और botocore अपवाद आयात करें।
चरण 2 - पैरामीटर वर्कफ़्लो_नाम पास करें जिसे एडब्ल्यूएस ग्लू कैटलॉग से हटा दिया जाना चाहिए।
चरण 3 - boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं। सुनिश्चित करें कि डिफ़ॉल्ट प्रोफ़ाइल में क्षेत्र_नाम का उल्लेख किया गया है। यदि इसका उल्लेख नहीं है, तो सत्र बनाते समय स्पष्ट रूप से क्षेत्र_नाम पास करें।
चरण 4 - गोंद के लिए AWS क्लाइंट बनाएं।
चरण 5 - delete_workflow को कॉल करें और नाम पैरामीटर के रूप में वर्कफ़्लो_नाम पास करें।
चरण 6 - यह वर्कफ़्लो को हटा देगा और प्रतिक्रिया मेटाडेटा लौटाएगा। कृपया ध्यान दें, अगर एडब्ल्यूएस डेटा कैटलॉग में वर्कफ़्लो नहीं मिलता है, तो यह कोई अपवाद नहीं है।
चरण 7 - कार्य की जाँच करते समय कुछ गलत होने पर सामान्य अपवाद को संभालें।
उदाहरण
उपयोगकर्ता खाते में सूचीबद्ध कार्यप्रवाह को हटाने के लिए निम्नलिखित कोड का उपयोग करें -
import boto3 from botocore.exceptions import ClientError def delete_a_workflow(workflow_name): session = boto3.session.Session() glue_client = session.client('glue') try: response = glue_client.delete_workflow(Name = workflow_name) return response except ClientError as e: raise Exception( "boto3 client error in delete_a_workflow: " + e.__str__()) except Exception as e: raise Exception("Unexpected error in delete_a_workflow: " + e.__str__()) print(delete_a_workflow("test"))
आउटपुट
{'Name': 'test, 'ResponseMetadata': {'RequestId': '………..-………………….- 59a9bc817e0f', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sun, 21 Feb 2021 05:37:11 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '35', 'connection': 'keep-alive', 'x-amzn-requestid': …………………….-59a9bc817e0f'}, 'RetryAttempts': 0}}