Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Lấy chi tiết Workflow trong AWS Glue Data Catalog với Boto3

Dùng boto3 gọi get_workflow để lấy metadata đầy đủ của một workflow (tên, trạng thái, thống kê, thời gian tạo/sửa, v.v.).

Quy trình

  1. Import boto3, ClientError.
  2. Hàm nhận workflow_name.
  3. Tạo session, client Glue.
  4. Gọi glue_client.get_workflow(Name=...).
  5. Trả về response.
  6. Xử lý ngoại lệ.

Code mẫu

import boto3
from botocore.exceptions import ClientError

def lay_chi_tiet_workflow(workflow_name):
    session = boto3.session.Session()
    glue_client = session.client('glue')
    try:
        response = glue_client.get_workflow(Name=workflow_name)
        return response
    except ClientError as e:
        raise Exception("Lỗi boto3 client: " + str(e))
    except Exception as e:
        raise Exception("Lỗi không mong đợi: " + str(e))

print(lay_chi_tiet_workflow('dev-aiml-naviga-ods-load'))

Kết quả

{'Workflow': {'Name': 'dev-aiml-naviga-ods-load', 'DefaultRunProperties': {}, 'CreatedOn': datetime.datetime(2020,5,27,...), 'LastModifiedOn': ..., 'StartedOn': ..., 'CompletedOn': ..., 'Status': 'COMPLETED', 'Statistics': {'TotalActions': 3, 'SucceededActions': 3, ...}}, 'MissingWorkflows': [], 'ResponseMetadata': {'RequestId': 'b328d064-...', 'HTTPStatusCode': 200, ...}}