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

Làm cách nào để sử dụng thư viện Boto3 trong Python để lấy thông tin chi tiết của trình thu thập thông tin?

Ví dụ:Nhận thông tin chi tiết về trình thu thập thông tin, crawller_for_s3_file_ công việc.

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 - Crawler_name là tham số bắt buộc. Đây là một danh sách để người dùng có thể gửi nhiều tên trình thu thập thông tin cùng một lúc để tìm nạp thông tin chi tiết.

Bước 3 - Tạo phiên AWS bằng thư viện boto3. Đả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 dán.

Bước 5 - Bây giờ hãy sử dụng batch_get_crawlers chức năng và vượt qua tên_trình thu thập thông tin .

Bước 6 - Nó trả về siêu dữ liệu của trình thu thập thông tin.

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 để tìm nạp thông tin chi tiết của trình thu thập thông tin -

import boto3
from botocore.exceptions import ClientError

def get_crawler_details(crawler_names:list)
   session = boto3.session.Session()
   glue_client = session.client('glue')
   try:
      crawler_details = glue_client.batch_get_crawlers(CrawlerNames= crawler_names)
      return crawler_details
   except ClientError as e:
      raise Exception( "boto3 client error in get_crawler_details: " + e.__str__())
   except Exception as e:
      raise Exception( "Unexpected error in get_crawler_details: " + e.__str__())

print(get_crawler_details("[crawler_for_s3_file_job]"))