इस लेख में, हम देखेंगे कि कैसे एक उपयोगकर्ता AWS खाते में मौजूद सभी ट्रिगर की सूची प्राप्त कर सकता है।
उदाहरण
AWS ग्लू डेटा कैटलॉग में उपलब्ध सभी ट्रिगर्स की सूची प्राप्त करें।
समस्या कथन: boto3 . का उपयोग करें सभी ट्रिगर की सूची प्राप्त करने के लिए पायथन में पुस्तकालय।
इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम
-
चरण 1: आयात करें boto3 और बोटोकोर अपवादों को संभालने के लिए अपवाद।
-
चरण 2: इस फ़ंक्शन में कोई पैरामीटर नहीं हैं।
-
चरण 3: boto3 lib . का उपयोग करके AWS सत्र बनाएं . सुनिश्चित करें कि क्षेत्र_नाम डिफ़ॉल्ट प्रोफ़ाइल में उल्लेख किया गया है। यदि इसका उल्लेख नहीं है, तो स्पष्ट रूप से region_name . पास करें सत्र बनाते समय।
-
चरण 4: गोंद . के लिए AWS क्लाइंट बनाएं ।
-
चरण 5: अब list_triggers . का उपयोग करें समारोह।
-
चरण 6: यह एडब्ल्यूएस गोंद डेटा कैटलॉग में मौजूद सभी ट्रिगर्स की सूची देता है। यदि कोई ट्रिगर नहीं है, तो यह एक खाली निर्देश देता है। हालांकि, यह फ़ंक्शन वैकल्पिक पैरामीटर को टैग के रूप में लेता है ताकि उपयोगकर्ता ट्रिगर को फ़िल्टर कर सके और केवल टैग से संबद्ध ट्रिगर वापस कर सके।
-
चरण 7: ट्रिगर्स की जांच करते समय कुछ गलत होने पर सामान्य अपवाद को संभालें।
उदाहरण कोड
निम्नलिखित कोड सभी ट्रिगर्स की सूची प्राप्त करता है -
import boto3 from botocore.exceptions import ClientError def list_of_triggers() session = boto3.session.Session() glue_client = session.client('glue') try: triggers = glue_client.list_triggers() return triggers except ClientError as e: raise Exception("boto3 client error in list_of_triggers: " + e.__str__()) except Exception as e: raise Exception("Unexpected error in list_of_triggers: " + e.__str__()) print(list_of_triggers())
आउटपुट
{'TriggerNames': ['data-etl-file-passed-to-splitter', 'file-passed-to-worker', 'file-trigger', 'test-daily-jobs', 'test-daily-jobs-copy' ], 'ResponseMetadata': {'RequestId': '8e95115b****************90', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sat, 27 Mar 2021 09:14:03 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '304', 'connection': 'keep-alive', 'x-amzn-requestid': '8e95115b*********************90'}, 'RetryAttempts': 0}}