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

Cách sử dụng Boto3 để bắt đầu trình thu thập thông tin trong Danh mục dữ liệu keo AWS

Trong bài viết này, chúng ta sẽ xem cách người dùng có thể bắt đầu trình thu thập thông tin trong Danh mục dữ liệu AWS Glue.

Ví dụ

Tuyên bố sự cố: Sử dụng boto3 thư viện bằng Python để khởi động trình thu thập thông tin.

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: crawl_name là tham số 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 start_crawler chức năng và chuyển tham số crawl_name như Tên.

  • Bước 6: Nó trả về siêu dữ liệu phản hồi và khởi động trình thu thập thông tin bất kể lịch trình của nó. Nếu trạng thái của trình thu thập thông tin đang chạy, thì trình thu thập thông tin sẽ ném CrawlerRunningException .

  • Bước 7: Xử lý ngoại lệ chung nếu có sự cố khi khởi động trình thu thập thông tin.

Mã mẫu

Đoạn mã sau bắt đầu trình thu thập thông tin trong Danh mục dữ liệu keo AWS -

 import boto3from botocore.exceptions import ClientErrordef start_a_crawler (crawl_name) session =boto3.session.Session () keo_client =session.client ('keo') hãy thử:response =keo_client.start_crawler (Name =crawller_name) trả về phản hồi ngoại trừ ClientError as e:raise Exception ("lỗi ứng dụng boto3 trong start_a_crawler:" + e .__ str __ ()) ngoại trừ Exception as e:raise Exception ("Lỗi không mong muốn trong start_a_crawler:" + e .__ str __ ()) # Lần đầu tiên khởi động trình thu thập thông tin (start_a_crawler ("Thứ nguyên dữ liệu")) # chạy lần thứ hai, trước khi trình thu thập thông tin hoàn thành kế hoạch hoạt động (start_a_crawler ("Thứ nguyên dữ liệu")) 

Đầu ra

 # lần đầu tiên khởi động trình thu thập thông tin {'ResponseMetadata':{'RequestId':'73e50130 - ***************** 8e', 'HTTPStatusCode':200, 'HTTPHeaders ':{' date ':' Sun, 28/03/2021 07:26:55 GMT ',' content-type ':' application / x-amz-json-1.1 ',' content-length ':' 2 ',' connection ':' keep-lives ',' x-amzn-suggest ':' 73e50130 - *************** 8e '},' RetryAttempts ':0}} # lần chạy thứ 2 , trước khi trình thu thập thông tin hoàn tất thao tác.