समस्या का विवरण - अपने खाते में उपलब्ध ट्रिगर प्राप्त करने के लिए पायथन में boto3 लाइब्रेरी का उपयोग करें। उदाहरण के लिए, उन ट्रिगर का विवरण प्राप्त करें जिनकी आपके खाते में अनुमति है।
इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम
चरण 1 - अपवादों को संभालने के लिए boto3 और botocore अपवाद आयात करें।
चरण 2 - इस फ़ंक्शन के लिए किसी पैरामीटर की आवश्यकता नहीं है। यह उपयोगकर्ता खाते के लिए सभी सूचीबद्ध ट्रिगर लाएगा और फिर प्रत्येक ट्रिगर का मेटाडेटा प्रदर्शित करेगा।
चरण 3 - boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं। सुनिश्चित करें कि डिफ़ॉल्ट प्रोफ़ाइल में क्षेत्र_नाम का उल्लेख किया गया है। यदि इसका उल्लेख नहीं है, तो सत्र बनाते समय स्पष्ट रूप से क्षेत्र_नाम पास करें।
चरण 4 - गोंद के लिए 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()
#List of Triggers
print(a)
#Resource metadata of each Triggers
print(b) आउटपुट
#List of Triggers
{'TriggersNames': ['01_PythonShellTest1'],
'NextToken':
'eyJleHBpcmF0aW9uIjp7InNlY29uZHMiOjE2MTQxNzE2OTksIm5hbm9zIjo1MTYwMDAwMDB
9LCJsYXN0RXZhbHV
zFiMzAzNzAxMzRmNDk3NWM3M2MyMjhjYTk5MDgzZTA3YjQ0ZWEyOTZlIn19fQ==',
'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}}
#Resource metadata of each Triggers
{'Triggers': [{'Name': '01_PythonShellTest1', 'WorkflowName':
'arn:aws:iam::1234:role/dev-edl, 'Id': 'string', 'Type': 'string',
'State':
'CREATING'|'CREATED'|'ACTIVATING'|'ACTIVATED'|'DEACTIVATING'|'DEACTIVATE
D'|'DELETING'|'UPDATING', 'Description': 'string', 'Schedule': 'string'
}]}