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

Làm thế nào để sử dụng Boto3 để kiểm tra trạng thái của tất cả các lần chạy của một Công việc Keo nhất định?

Tuyên bố sự cố - Sử dụng thư viện boto3 trong Python để kiểm tra trạng thái của tất cả các lần chạy của một công việc nhất định.

Ví dụ - Nhận trạng thái của tất cả các lần chạy công việc keo có tên là ‘run_s3_file_job’.

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 - job_name là các tham số bắt buộc. Hàm sẽ tìm nạp các chi tiết của một job_name đã cho.

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

Bước 5 - Bây giờ sử dụng get_job_runs và chuyển job_name dưới dạng tham số JobName.

Bước 6 - Nó tìm nạp các chi tiết của tất cả các lần chạy công việc trước đây của công việc đã cho.

Bước 7 - Sử dụng vòng lặp for để biết chi tiết từng lần chạy công việc cụ thể.

Bước 8 - Bây giờ, lấy trạng thái cụ thể của công việc và id chạy công việc tương ứng. Trạng thái có thể đang Chạy nếu công việc chưa được hoàn thành, nếu không thì ĐÃ THÀNH CÔNG / THẤT BẠI.

Bước 9 - 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 để kiểm tra trạng thái của tất cả các lần chạy một công việc cụ thể -

 import boto3from botocore.exceptions import ClientErrordef get_status_of_job_all_runs (job_name):session =boto3.session.Session () keo_client =session.client ('keo') try:response =keo_client.get_job_runs (JobName =job_name) để phản hồi ['JobRuns']:print ("Id Job Run là:" + res.get ("Id")) print ("status là:" + res.get ("JobRunState")) ngoại trừ ClientError as e:raise Exception ( "lỗi ứng dụng boto3 trong get_status_of_job_all_runs:" + e .__ str __ ()) ngoại trừ Exception as e:raise Exception ("Lỗi không mong muốn trong get_status_of_job_all_runs:" + e .__ str __ ()) get_status_of_job_all_runs ("run_s3) 

Đầu ra

 job IDIS:jr_6ef92e90ad66b1a6c7abb1c2659d114a34962b8c6ae4bf9b328ac90b99a33b7dstatus là:FAILEDjob IDIS:jr_9fef13265036406e03e7cae79257305353203ab20b5f400e0c429e10a4999dbastatus là:FAILEDjob IDIS:jr_f9d715a33e83460fc2ef6dee0840a98ef52c06c2ff569627633c4505fda7d835status là:FAILEDjob IDIS:jr_71b57633ac4d8c24f904f0ae01f613f6d54baee440d0ede23f6030cffb0bf4d7status là:FAILEDjob IDIS:jr_b7ead6b6ae43da2580888c73d6896c177510df73bd77c843d3e77b4dc5f22e2fstatus là:FAILEDjob IDIS:jr_6e757509d51066648d49c22a47c26e728d6f842a1c5d2fd4f41941ca868460e6status là:FAILEDjob IDIS:jr_89c1a7b8ea045fac36d25733d7fc657d3560eb159e7e122a8960981dd225a9d0status là:FAILEDjob IDIS:jr_87522bcb924e41a6cf0294185b0a09e46a4ff4c67db5007ff7c10f959836a44bstatus được :FAILEDjob IDIS:jr_08bb54854c8e5c60e96a3e2bade1184963973c1ea7a1e760029e740d4c4c5d7dstatus là:FAILEDjob IDIS:jr_540a90407bb7fbde72b3e1d6cbc98c3b246c21c87d836ff389491bf95520bb41status là:FAILEDjob IDIS:jr_f27227cb16ec9d3df665d8753b09c2e2d24d5b5e5263f3d3f17a9bd4669bee6 7status là:FAILEDjob idis:jr_a1ae4ad2edcbdac5c948b8be92a79a37c27517113364ddc88c8a93bc712fe6c1status is:SUCCEEDED