उदाहरण - एडब्ल्यूएस गोंद डेटा कैटलॉग में बुकमार्क की गई नौकरी 'बुक-जॉब' का विवरण पुनर्प्राप्त करें।
समस्या का विवरण - एडब्ल्यूएस ग्लू डेटा कैटलॉग में बुकमार्क की गई नौकरी के विवरण को पुनः प्राप्त करने के लिए पायथन में boto3 लाइब्रेरी का उपयोग करें।
इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम
चरण 1 - अपवादों को संभालने के लिए boto3 और botocore अपवाद आयात करें।
चरण 2 - बुकमार्क_जॉब_नाम अनिवार्य पैरामीटर है। इसमें job_name . होना चाहिए यह पहले से ही बुकमार्क है, अन्यथा यह EntityNotFoundException को फेंक देगा।
चरण 3 - boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं। सुनिश्चित करें कि डिफ़ॉल्ट प्रोफ़ाइल में क्षेत्र_नाम का उल्लेख किया गया है। यदि इसका उल्लेख नहीं है, तो सत्र बनाते समय स्पष्ट रूप से क्षेत्र_नाम पास करें।
चरण 4 - गोंद के लिए AWS क्लाइंट बनाएं।
चरण 5 - अब get_job_bookmark का उपयोग करें कार्य करें और bookmarked_job_name pass पास करें JobName पैरामीटर के रूप में।
चरण 6 - यह बुकमार्क प्रविष्टि से संबंधित विवरण देता है। ध्यान दें कि यदि job_name बुकमार्क नहीं किया गया है, यह EntityNotFound . के रूप में एक अपवाद देगा ।
चरण 7 - कार्य की जाँच करते समय कुछ गलत होने पर सामान्य अपवाद को संभालें।
उदाहरण
AWS Glue Data Catalog में बुकमार्क किए गए कार्य का विवरण प्राप्त करने के लिए निम्न कोड का उपयोग करें -
import boto3
from botocore.exceptions import ClientError
def retrieves_details_of_bookmarked_job(bookmarked_job_name)
session = boto3.session.Session()
glue_client = session.client('glue')
try:
response = glue_client.get_job_bookmark(JobName=bookmarked_job_name)
return response
except ClientError as e:
raise Exception("boto3 client error in retrieves_details_of_bookmarked_job: " + e.__str__())
except Exception as e:
raise Exception("Unexpected error in retrieves_details_of_bookmarked_job: " + e.__str__())
print(retrieves_details_of_bookmarked_job("book-job")) आउटपुट
{'JobBookmarkEntry': {'JobName': 'book-job', 'Version': 8, 'Run': 2,
'Attempt': 2, 'PreviousRunId':
'jr_dee547c2f78422e34136aa12c85de010b823787833eee04fbf34bc9b8cb4f7b9',
'RunId':
'jr_a035fe15daa31e9a751f02876c26e5d11a829f2689803a9e9643bd61f70273e4',
'JobBookmark':
'{"gdf":{"jsonClass":"HadoopDataSourceJobBookmarkState","timestamps":{"R
UN":"1","HIGH_BAND":"900000","CURR_LATEST_PARTITION":"0","CURR_LATEST_PA
RTITIONS":"","CURR_RUN_START_TIME":"2020-10-
30T13:03:43.730Z","INCLUDE_LIST":""}}}'}, 'ResponseMetadata':
{'RequestId': 'bacf1497-***************996f05b3c1', 'HTTPStatusCode':
200, 'HTTPHeaders': {'date': 'Sun, 28 Feb 2021 13:00:19 GMT', 'contenttype': 'application/x-amz-json-1.1', 'content-length': '535',
'connection': 'keep-alive', 'x-amzn-requestid': 'bacf1497-
******************996f05b3c1'}, 'RetryAttempts': 0}}