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

Cách sử dụng Boto3 để dừng quy trình làm việc 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ể dừng quy trình công việc hiện diện trong tài khoản AWS.

Ví dụ

Tuyên bố sự cố: Sử dụng boto3 thư viện bằng Python để dừng quy trình làm 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 boto3 botocore các ngoại lệ để xử lý các ngoại lệ.

  • Bước 2: workflow_name run_id là các tham số bắt buộc 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 stop_workflow_run hàm và chuyển tham số workflow_name dưới dạng Tên và run_id dưới dạng RunId.

  • Bước 6: Nó trả về siêu dữ liệu phản hồi và dừng quy trình làm việc.

  • Bước 7: Xử lý ngoại lệ chung nếu có sự cố trong khi dừng quy trình làm việc.

Mã mẫu

Đoạn mã sau dừng dòng công việc đang chạy -

import boto3
from botocore.exceptions import ClientError

def stop_a_workflow(workflow_name, run_id)
   session = boto3.session.Session()
   glue_client = session.client('glue')
   try:
      response = glue_client.stop_workflow_run(Name=workflow_name, RunId= run_id)
      return response
   except ClientError as e:
      raise Exception("boto3 client error in stop_a_workflow: " + e.__str__())
   except Exception as e:
      raise Exception("Unexpected error in stop_a_workflow: " + e.__str__())
print(stop_a_workflow("test-daily"))

Đầu ra

{'RunId': 'wr_64e880240692fddd5e1b19aed587f856bc20a96f54bc', 'ResponseMetadata': {'RequestId': '782e953b-8ee3-4876-9b2c-cd35e147b513', 'HTTPStatusCode': 200, 'HTTPHeaders': {'date': 'Sun, 28 Mar 2021 08:11:02 GMT', 'content-type': 'application/x-amz-json-1.1', 'content-length': '79', 'connection': 'keep-alive', 'x-amzn-requestid': '782e953b-********************************13'}, 'RetryAttempts': 0}}