Bài viết minh họa cách dùng thư viện boto3 để cập nhật mô tả và thuộc tính chạy mặc định của một workflow trong AWS Glue Catalog.
Quy trình
- Import
boto3vàbotocore.exceptions.ClientError. - Hàm nhận
workflow_name(bắt buộc),descriptionvàdefault_run_properties(tùy chọn). - Tạo session boto3 (đảm bảo có region_name).
- Tạo client Glue.
- Gọi
glue_client.update_workflow()với các tham số. - Trả về metadata workflow.
- Xử lý ngoại lệ.
Code mẫu
import boto3
from botocore.exceptions import ClientError
def cap_nhat_workflow(workflow_name, description=None, default_run_properties=None):
session = boto3.session.Session()
glue_client = session.client('glue')
try:
response = glue_client.update_workflow(
Name=workflow_name,
Description=description,
DefaultRunProperties=default_run_properties
)
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))
# Ví dụ gọi
result = cap_nhat_workflow('dev-aiml-naviga-ods-load', 'test')
print(result)
Kết quả
{'Name': 'dev-aiml-naviga-ods-load', 'ResponseMetadata': {'RequestId': 'b328d064-24ab-48c4-b058-852387a3d474', 'HTTPStatusCode': 200, ...}}