समस्या विवरण - Python में boto3 लाइब्रेरी का उपयोग करके अपने अकाउंट में उपलब्ध ट्रिगर्स प्राप्त करें। उदाहरण के लिए, अपने अकाउंट में अनुमत ट्रिगर्स का विवरण प्राप्त करें।
इस समस्या को हल करने का दृष्टिकोण/एल्गोरिदम
चरण 1 - अपवादों को संभालने के लिए boto3 और botocore एक्सेप्शन्स आयात करें।
चरण 2 - इस फंक्शन के लिए कोई पैरामीटर आवश्यक नहीं है। यह यूज़र अकाउंट के लिए सूचीबद्ध सभी ट्रिगर्स प्राप्त करेगा और फिर प्रत्येक ट्रिगर का मेटाडेटा प्रदर्शित करेगा।
चरण 3 - boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं। सुनिश्चित करें कि region_name डिफ़ॉल्ट प्रोफ़ाइल में उल्लिखित है। यदि नहीं बताया गया है, तो सत्र बनाते समय region_name को स्पष्ट रूप से पास करें।
चरण 4 - Glue के लिए AWS क्लाइंट बनाएं।
चरण 5 - अब list_triggers फंक्शन का उपयोग करके यूज़र अकाउंट में सूचीबद्ध सभी जॉब्स प्राप्त करें।
चरण 6 - batch_get_triggers कॉल करें और पिछले फंक्शन में प्राप्त जॉब नाम पास करें।
चरण 7 - यह list_of_triggers और प्रत्येक ट्रिगर का मेटाडेटा लौटाता है।
चरण 8 - जॉब चेक करते समय यदि कुछ गलत हुआ तो सामान्य अपवाद को संभालें।
उदाहरण
यूज़र अकाउंट में सूचीबद्ध प्रत्येक ट्रिगर का विवरण प्राप्त करने के लिए निम्न कोड का उपयोग करें -
import boto3 from botocore.exceptions import ClientError def get_resource_maetadata_of_triggers(): session = boto3.session.Session() glue_client = session.client('glue') try: list_of_triggers = glue_client.list_triggers() response = glue_client.batch_get_triggers(TriggerNames=list_of_triggers['TriggerNames']) return list_of_triggers, response except ClientError as e: raise Exception("boto3 client error in get_resource_maetadata_of_triggers: " + e.__str__()) except Exception as e: raise Exception("Unexpected error in get_resource_maetadata_of_triggers: " + e.__str__()) a, b = get_resource_metadat_of_triggers() # ट्रिगर्स की सूची print(a) # प्रत्येक ट्रिगर का संसाधन मेटाडेटा print(b)आउटपुट
# ट्रिगर्स की सूची {'TriggersNames': ['01_PythonShellTest1'], 'NextToken': 'eyJleHBpcmF0aW9uIjp7InNlY29uZHMiOjE2MTQxNzE2OTksIm5hbm9zIjo1MTYwMDAwMDB9LCJsYXN0RXZhbHVzFiMzAzNzAxMzRmNDk3NWM3M2MyMjhjYTk5MDgzZTA3YjQ0ZWEyOTZlIn19fQ==', 'ResponseMetadata': {'RequestId': '5d3eb19a-41f5-b24e-2d59ed9664b5', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Tue, 23 Feb 2021 13:01:39 GMT', 'content-type': 'application/x-amz-json-1.1', 'contentlength': '1134', 'connection': 'keep-alive', 'x-amzn-requestid': '5d3eb19a-41f5-b24e-2d59ed9664b5'}, 'RetryAttempts': 0}} # प्रत्येक ट्रिगर का संसाधन मेटाडेटा {'Triggers': [{'Name': '01_PythonShellTest1', 'WorkflowName': 'arn:aws:iam::1234:role/dev-edl, 'Id': 'string', 'Type': 'string', 'State': 'CREATING'|'CREATED'|'ACTIVATING'|'ACTIVATED'|'DEACTIVATING'|'DEACTIVATED'|'DELETING'|'UPDATING', 'Description': 'string', 'Schedule': 'string'}]}