समस्या का विवरण - एडब्ल्यूएस ग्लू डेटा कैटलॉग से क्लासिफायरियर का विवरण प्राप्त करने के लिए पायथन में boto3 लाइब्रेरी का उपयोग करें। उदाहरण के लिए, एक क्लासिफायरियर - 'xml-test' का विवरण प्राप्त करें।
इस समस्या को हल करने के लिए दृष्टिकोण/एल्गोरिदम
चरण 1 - अपवादों को संभालने के लिए boto3 और botocore अपवाद आयात करें।
चरण 2 - पैरामीटर पास करें classifier_name जिनके विवरण की जांच की जानी है।
चरण 3 - boto3 लाइब्रेरी का उपयोग करके AWS सत्र बनाएं। सुनिश्चित करें कि डिफ़ॉल्ट प्रोफ़ाइल में क्षेत्र_नाम का उल्लेख किया गया है। यदि इसका उल्लेख नहीं है, तो सत्र बनाते समय स्पष्ट रूप से क्षेत्र_नाम पास करें।
चरण 4 - गोंद के लिए AWS क्लाइंट बनाएं।
चरण 5 - get_classifier पर कॉल करें और classifier_name . पास करें नाम पैरामीटर के रूप में।
चरण 6 - यह क्लासिफायरियर का विवरण प्राप्त करेगा।
चरण 7 - कार्य की जाँच करते समय कुछ गलत होने पर सामान्य अपवाद को संभालें।
उदाहरण
AWS ग्लू डेटा कैटलॉग से क्लासिफायरियर का विवरण प्राप्त करने के लिए निम्नलिखित कोड का उपयोग करें -
import boto3 from botocore.exceptions import ClientError def get_classifier_details(classifier_name): session = boto3.session.Session() glue_client = session.client('glue') try: response = glue_client.get_classifier(Name = classifier_name) return response except ClientError as e: raise Exception( "boto3 client error in get_classifier_details: " + e.__str__()) except Exception as e: raise Exception( "Unexpected error in get_classifier_details: " + e.__str__()) print(get_classifier_details("xml-test"))
आउटपुट
{'Classifier': {'GrokClassifier': {'Name': 'xml-test', 'Classification': 'xml', 'CreationTime': datetime.datetime(2018, 6, 21, 4, 7, 4, tzinfo=tzlocal()), 'LastUpdated': datetime.datetime(2018, 6, 21, 4, 7, 11, tzinfo=tzlocal()), 'Version': 2, 'GrokPattern': 'SYSLOGTIMESTAMP %{MONTH} +%{MONTHDAY} %{TIME}'}}, 'ResponseMetadata': {'RequestId': 'c291cce2-………………..-3552077ddefd', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sun, 21 Feb 2021 07:58:09 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '218', 'connection': 'keep-alive', 'x-amzn-requestid': 'c291cce2-……….-3552077ddefd'}, 'RetryAttempts': 0}}