इस लेख में, हम देखेंगे कि कैसे एक उपयोगकर्ता एडब्ल्यूएस गोंद डेटा कैटलॉग से नौकरी से जुड़े सभी ट्रिगर्स का विवरण प्राप्त कर सकता है।
उदाहरण
नौकरी से जुड़े सभी ट्रिगर का विवरण प्राप्त करें - 'कर्मचारी_विवरण' ।
समस्या कथन: boto3 . का उपयोग करें नौकरी से जुड़े सभी ट्रिगर का विवरण प्राप्त करने के लिए पायथन में पुस्तकालय।
इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम
-
चरण 1: आयात करें boto3 और बोटोकोर अपवादों को संभालने के लिए अपवाद।
-
चरण 2: job_name इस फ़ंक्शन के लिए वैकल्पिक पैरामीटर है। अगर job_name प्रदान किया जाता है, यह उन सभी ट्रिगर्स को पुनः प्राप्त करता है जो एक ही कार्य से जुड़े हैं और इस कार्य को प्रारंभ कर सकते हैं। हालांकि, अगर ऐसा कोई ट्रिगर नहीं है, तो यह सभी ट्रिगर लौटाता है। डिफ़ॉल्ट रूप से, मान कोई नहीं है, इसलिए यदि job_name इस फ़ंक्शन को कॉल करते समय पारित नहीं किया गया है, यह सभी ट्रिगर्स का विवरण लौटाएगा।
-
चरण 3: boto3 lib . का उपयोग करके AWS सत्र बनाएं . सुनिश्चित करें कि क्षेत्र_नाम डिफ़ॉल्ट प्रोफ़ाइल में उल्लेख किया गया है। यदि इसका उल्लेख नहीं है, तो स्पष्ट रूप से region_name . पास करें सत्र बनाते समय।
-
चरण 4: गोंद . के लिए AWS क्लाइंट बनाएं ।
-
चरण 5: get_triggers पर कॉल करें और job_name . पास करें आश्रितजॉबनाम . के रूप में
-
चरण 6: यह इस कार्य से जुड़े ट्रिगर्स का विवरण देता है।
-
चरण 7: कार्य की जाँच करते समय कुछ गलत होने पर सामान्य अपवाद को संभालें।
उदाहरण कोड
निम्न कोड नौकरी से जुड़े सभी ट्रिगर्स का विवरण प्राप्त करता है -
import boto3 from botocore.exceptions import ClientError def get_details_of_triggers(job_name=None): session = boto3.session.Session() glue_client = session.client('glue') try: response = glue_client.get_triggers(DependentJobName=job_name) return response except ClientError as e: raise Exception("boto3 client error in get_details_of_triggers: " + e.__str__()) except Exception as e: raise Exception("Unexpected error in get_details_of_triggers: " + e.__str__()) a = get_details_of_triggers('employee_details') print(a)
आउटपुट
{'Triggers': [{'Name': '01_PythonShellTest1', 'WorkflowName': 'arn:aws:iam::1234:role/dev-edl, 'Id': 'string', 'Type': 'SCHEDULED'|'CONDITIONAL'|'ON_DEMAND', 'State': 'CREATING'|'CREATED'|'ACTIVATING'|'ACTIVATED'|'DEACTIVATING'|'DEACTIVATED'|'DELETING'|'UPDATING', 'Description': 'string', 'Schedule': 'string' }]}