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

Cách sử dụng Boto3 để nhận danh sách trình kích hoạt có trong tài khoản AWS

Trong bài viết này, chúng ta sẽ xem cách người dùng có thể lấy danh sách tất cả các trình kích hoạt có trong tài khoản AWS.

Ví dụ

Nhận danh sách tất cả các trình kích hoạt có sẵn trong Danh mục dữ liệu keo AWS.

Tuyên bố sự cố: Sử dụng boto3 thư viện bằng Python để lấy danh sách tất cả các trình kích hoạt.

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: Không có tham số nào trong hàm này.

  • Bước 3: Tạo phiên AWS bằng boto3 lib . Đảm bảo rằng tên_vùng đượ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: Bây giờ, hãy sử dụng list_triggers chức năng.

  • Bước 6: Nó trả về danh sách tất cả các trình kích hoạt có trong danh mục dữ liệu AWS Glue. Nếu không có trình kích hoạt, nó trả về một chính tả trống. Tuy nhiên, hàm này nhận tham số tùy chọn là Thẻ để người dùng có thể lọc ra các trình kích hoạt và chỉ trả lại những trình kích hoạt được liên kết với thẻ.

  • Bước 7: Xử lý ngoại lệ chung nếu có sự cố trong khi kiểm tra trình kích hoạt.

Mã mẫu

Đoạn mã sau tìm nạp danh sách tất cả các trình kích hoạt -

import boto3
from botocore.exceptions import ClientError

def list_of_triggers()
   session = boto3.session.Session()
   glue_client = session.client('glue')
   try:
      triggers = glue_client.list_triggers()
      return triggers
   except ClientError as e:
      raise Exception("boto3 client error in list_of_triggers: " + e.__str__())
   except Exception as e:
      raise Exception("Unexpected error in list_of_triggers: " + e.__str__())
print(list_of_triggers())

Đầu ra

{'TriggerNames':
['data-etl-file-passed-to-splitter',
'file-passed-to-worker',
'file-trigger',
'test-daily-jobs',
'test-daily-jobs-copy'
],
'ResponseMetadata': {'RequestId': '8e95115b****************90', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sat, 27 Mar 2021 09:14:03 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '304', 'connection': 'keep-alive', 'x-amzn-requestid': '8e95115b*********************90'}, 'RetryAttempts': 0}}