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

Cách lấy chi tiết về trình kích hoạt từ danh mục Dữ liệu keo AWS bằng Boto3

Hãy xem cách người dùng có thể lấy thông tin chi tiết về trình kích hoạt từ Danh mục dữ liệu keo AWS.

Ví dụ

Nhận thông tin chi tiết về một trình kích hoạt nhất định được phép trong tài khoản của bạn - '01_PythonShellTest1' .

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 boto3 botocore các ngoại lệ để xử lý các ngoại lệ.

  • Bước 2: trigger_name là tham số bắt buộc cho chức năng này. Nó sẽ tìm nạp các chi tiết của trình kích hoạt đã cho cho một tài khoản người dùng và sau đó hiển thị siêu dữ liệu của nó.

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

  • Bước 4: Tạo ứng dụng AWS cho keo .

  • Bước 5: Gọi get_trigger và chuyển trigger_name làm Tên

  • Bước 6: Nó trả về chi tiết của trình kích hoạt đã cho.

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

Mã mẫu

Đoạn mã sau tìm nạp chi tiết của trình kích hoạt được liệt kê trong tài khoản người dùng -

import boto3
from botocore.exceptions import ClientError

def get_resource_maetadata_of_trigger(trigger_name):
   session = boto3.session.Session()
   glue_client = session.client('glue')
   try:
      response = glue_client.get_trigger(Name=trigger_name)
      return response
   except ClientError as e:
      raise Exception("boto3 client error in get_resource_maetadata_of_trigger: " + e.__str__())
   except Exception as e:
      raise Exception("Unexpected error in get_resource_maetadata_of_trigger: " + e.__str__())
a = get_resource_metadat_of_trigger('01_PythonShellTest1')
print(a)

Đầu ra

{'Triggers': [{'Name': '01_PythonShellTest1', 'WorkflowName': 'arn:aws:iam::1234:role/dev-edl, 'Id': 'string', 'Type': 'SCHEDULED'|'CONDITIONAL'|'ON_DEMAND', 'State': 'CREATING'|'CREATED'|'ACTIVATING'|'ACTIVATED'|'DEACTIVATING'|'DEACTIVATED'|'DELETING'|'UPDATING', 'Description': 'string', 'Schedule': 'string'
}]}