Trong bài viết này, chúng ta sẽ xem cách người dùng có thể dừng trình lập lịch của trình thu thập thông tin có trong Danh mục dữ liệu AWS Glue.
Ví dụ
Dừng trình lập lịch của trình thu thập thông tin có sẵn trong Danh mục dữ liệu AWS Glue.
Tuyên bố sự cố: Sử dụng boto3 thư viện bằng Python để dừng trình lập lịch của 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 và botocore các ngoại lệ để xử lý các ngoại lệ.
-
Bước 2: crawl_name là tham số bắt buộc trong chức năng 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 stop_crawler_schedule hàm và chuyển tham số crawl_name dưới dạng CrawlerName.
-
Bước 6: Nó trả về siêu dữ liệu phản hồi và đặt trạng thái lịch biểu của trình thu thập thông tin là OT_SCHEDULED . Nếu trạng thái của trình thu thập thông tin đang chạy thì nó không dừng trình thu thập thông tin.
-
Bước 7: Xử lý ngoại lệ chung nếu có sự cố trong khi dừng trình lập lịch của trình thu thập thông tin.
Mã mẫu
Đoạn mã sau dừng trình lập lịch của trình thu thập thông tin -
import boto3 from botocore.exceptions import ClientError def stop_scheduler_of_a_crawler(crawler_name) session = boto3.session.Session() glue_client = session.client('glue') try: response = glue_client.stop_crawler_schedule(CrawlerName=crawler_name) return response except ClientError as e: raise Exception("boto3 client error in stop_scheduler_of_a_crawler: " + e.__str__()) except Exception as e: raise Exception("Unexpected error in stop_scheduler_of_a_crawler: " + e.__str__()) print(stop_scheduler_of_a_crawler("Data Dimension"))
Đầu ra
{'ResponseMetadata': {'RequestId': '73e50130-*****************8e', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sun, 28 Mar 2021 07:26:55 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '2', 'connection': 'keep-alive', 'x-amzn-requestid': '73e50130-***************8e'}, 'RetryAttempts': 0}}