इस लेख में, हम देखेंगे कि एडब्ल्यूएस ग्लू कैटलॉग में वर्कफ़्लो के विवरण को कैसे अपडेट किया जाए।
उदाहरण
समस्या कथन: boto3 . का उपयोग करें आपके खाते में बनाए गए वर्कफ़्लो के विवरण को अपडेट करने के लिए पायथन में लाइब्रेरी।
इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम
-
चरण 1: आयात करें boto3 और बोटोकोर अपवादों को संभालने के लिए अपवाद।
-
चरण 2: कार्यप्रवाह_नाम इस फ़ंक्शन के लिए आवश्यक पैरामीटर है। विवरण और deault_run_properties वैकल्पिक पैरामीटर हैं। यह किसी दिए गए वर्कफ़्लो के विवरण को अपडेट करता है।
-
चरण 3: boto3 lib . का उपयोग करके AWS सत्र बनाएं . सुनिश्चित करें कि क्षेत्र_नाम डिफ़ॉल्ट प्रोफ़ाइल में उल्लेख किया गया है। यदि इसका उल्लेख नहीं है, तो स्पष्ट रूप से region_name . पास करें सत्र बनाते समय।
-
चरण 4: गोंद . के लिए AWS क्लाइंट बनाएं ।
-
चरण 5: update_workflow पर कॉल करें और workflow_name . पास करें नाम पैरामीटर के रूप में और विवरण के रूप में विवरण और default_run_properties DefaultRunProperties के रूप में।
-
चरण 6: यह किसी दिए गए वर्कफ़्लो का मेटाडेटा लौटाता है।
-
चरण 7: कार्य की जाँच करते समय कुछ गलत होने पर सामान्य अपवाद को संभालें।
उदाहरण कोड
निम्नलिखित कोड उपयोगकर्ता खाते में बनाए गए वर्कफ़्लो के विवरण को अपडेट करता है -
import boto3 from botocore.exceptions import ClientError def update_resource_detail_of_workflow(workflow_name, description=None, default_run_properties=None:dict): session = boto3.session.Session() glue_client = session.client('glue') try: response = glue_client.update_workflow(Name=workflow_name, Description = description, DefaultRunProperties = default_run_properties) return response except ClientError as e: raise Exception("boto3 client error in update_resource_detail_of_workflow: " + e.__str__()) except Exception as e: raise Exception("Unexpected error in update_resource_detail_of_workflow: " + e.__str__()) a = update_resource_detail_of_workflow('dev-aiml-naviga-ods-load', 'test') print(a)
आउटपुट
{'Name': 'dev-aiml-naviga-ods-load', 'ResponseMetadata': {'RequestId': 'b328d064-24ab-48c4-b058-852387a3d474', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sat, 27 Feb 2021 13:57:37 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '2655', 'connection': 'keep-alive', 'x-amzn-requestid': 'b328d064-24ab-48c4-b058-852387a3d474'}, 'RetryAttempts': 0}}