คำชี้แจงปัญหา − ใช้ไลบรารี boto3 ใน Python เพื่อรับรายละเอียดของตัวแยกประเภทจากแคตตาล็อก AWS Glue Data ตัวอย่างเช่น รับรายละเอียดของตัวแยกประเภท – 'xml-test'
แนวทาง/อัลกอริทึมในการแก้ปัญหานี้
ขั้นตอนที่ 1 - นำเข้าข้อยกเว้น boto3 และ botocore เพื่อจัดการกับข้อยกเว้น
ขั้นตอนที่ 2 − ส่งพารามิเตอร์ classifier_name ซึ่งต้องตรวจสอบรายละเอียด
ขั้นตอนที่ 3 − สร้างเซสชัน AWS โดยใช้ไลบรารี boto3 ตรวจสอบให้แน่ใจว่ามีการกล่าวถึง region_name ในโปรไฟล์เริ่มต้น หากไม่มีการระบุ ให้ส่ง region_name อย่างชัดเจนขณะสร้างเซสชัน
ขั้นตอนที่ 4 − สร้างไคลเอนต์ AWS สำหรับกาว
ขั้นตอนที่ 5 − โทร get_classifier และส่งผ่าน ชื่อตัวแยกประเภท เป็นพารามิเตอร์ชื่อ
ขั้นตอนที่ 6 − มันจะดึงรายละเอียดของตัวแยกประเภท
ขั้นตอนที่ 7 − จัดการข้อยกเว้นทั่วไปหากมีข้อผิดพลาดขณะตรวจสอบงาน
ตัวอย่าง
ใช้รหัสต่อไปนี้เพื่อรับรายละเอียดของตัวแยกประเภทจากแคตตาล็อก AWS Glue Data –
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}}