इस लेख में, हम देखेंगे कि उपयोगकर्ता वर्कफ़्लो का संसाधन मेटाडेटा कैसे प्राप्त कर सकता है।
उदाहरण
आपके खाते में बनाए गए वर्कफ़्लो का विवरण AWS Glue डेटा कैटलॉग से प्राप्त करें।
समस्या कथन: अपने खाते में बनाए गए वर्कफ़्लो का मेटाडेटा प्राप्त करने के लिए पायथन में boto3 लाइब्रेरी का उपयोग करें।
इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम
चरण 1: अपवादों को संभालने के लिए boto3 और botocore अपवाद आयात करें।
चरण 2: workflow_name इस फ़ंक्शन के लिए आवश्यक पैरामीटर है। यह दिए गए वर्कफ़्लो का मेटाडेटा प्राप्त करेगा।
चरण 3: boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं। सुनिश्चित करें कि डिफ़ॉल्ट प्रोफ़ाइल में region_name उल्लिखित है। यदि नहीं, तो सत्र बनाते समय स्पष्ट रूप से region_name पास करें।
चरण 4: glue के लिए AWS क्लाइंट बनाएं।
चरण 5: get_workflow को कॉल करें और workflow_name को Name पैरामीटर के रूप में पास करें।
चरण 6: यह दिए गए वर्कफ़्लो का मेटाडेटा लौटाता है।
चरण 7: जॉब की जांच करते समय यदि कुछ गलत हुआ तो सामान्य अपवाद को संभालें।
उदाहरण कोड
निम्न कोड उपयोगकर्ता खाते में बनाए गए वर्कफ़्लो का विवरण प्राप्त करता है -
import boto3
from botocore.exceptions import ClientError
def get_resource_metadata_of_workflow(workflow_name):
session = boto3.session.Session()
glue_client = session.client('glue')
try:
response = glue_client.get_workflow(Name=workflow_name)
return response
except ClientError as e:
raise Exception("boto3 client error in get_resource_metadata_of_workflow: " + e.__str__())
except Exception as e:
raise Exception("Unexpected error in get_resource_metadata_of_workflow: " + e.__str__())
a = get_resource_metadata_of_workflow('dev-aiml-naviga-ods-load')
print(a)
आउटपुट
{'Workflow': {'Name': 'dev-aiml-naviga-ods-load', 'DefaultRunProperties': {}, 'CreatedOn': datetime.datetime(2020, 5, 27, 3, 10, 57, 967000, tzinfo=tzlocal()), 'LastModifiedOn': datetime.datetime(2020, 5, 27, 3, 10, 57, 967000, tzinfo=tzlocal())}, 'StartedOn': datetime.datetime(2021, 2, 3, 16, 14, 48, 795000, tzinfo=tzlocal()), 'CompletedOn': datetime.datetime(2021, 2, 3, 16, 28, 6, 207000, tzinfo=tzlocal()), 'Status': 'COMPLETED', 'Statistics': {'TotalActions': 3, 'TimeoutActions': 0, 'FailedActions': 0, 'StoppedActions': 0, 'SucceededActions': 3, 'RunningActions': 0}}}, 'MissingWorkflows': [], 'ResponseMetadata': {'RequestId': 'b328d064-24ab-48c4-b058-852387a3d474', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sat, 27 Feb 2021 13:57:37 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '2655', 'connection': 'keep-alive', 'x-amzn-requestid': 'b328d064-24ab-48c4-b058-852387a3d474'}, 'RetryAttempts': 0}}