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