Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để sử dụng Boto3 để lấy thông tin chi tiết của bộ phân loại từ danh mục Dữ liệu Keo AWS?

Tuyên bố sự cố - Sử dụng thư viện boto3 bằng Python để lấy thông tin chi tiết của bộ phân loại từ danh mục Dữ liệu Keo AWS. Ví dụ:lấy thông tin chi tiết của bộ phân loại - ‘xml-test’.

Phương pháp tiếp cận / Thuật toán để giải quyết vấn đề này

Bước 1 - Nhập các ngoại lệ boto3 và botocore để xử lý các ngoại lệ.

Bước 2 - Truyền tham số classifier_name chi tiết của ai cần được kiểm tra.

Bước 3 - Tạo phiên AWS bằng thư viện boto3. Đảm bảo rằng tên miền được đề cập trong hồ sơ mặc định. Nếu nó không được đề cập, thì hãy chuyển rõ ràng region_name trong khi tạo phiên.

Bước 4 - Tạo ứng dụng AWS cho keo dán.

Bước 5 - Gọi get_classifier và vượt qua classifier_name dưới dạng tham số Tên.

Bước 6 - Nó sẽ tìm nạp các chi tiết của bộ phân loại.

Bước 7 - Xử lý ngoại lệ chung nếu có sự cố xảy ra trong khi kiểm tra công việc.

Ví dụ

Sử dụng mã sau để nhận chi tiết về bộ phân loại từ danh mục Dữ liệu keo 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"))

Đầu ra

{'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}}