ภาพรวม
สาธิตการใช้ไลบรารี boto3 เพื่ออัปเดตข้อมูล workflow ใน AWS Glue Data Catalog รวมถึง description และ default run properties
ขั้นตอนการทำงาน
- Import
boto3และbotocore.exceptions.ClientError - สร้าง AWS session และ Glue client
- เรียก
update_workflow()พร้อมพารามิเตอร์ Name, Description, DefaultRunProperties - จัดการข้อผิดพลาดด้วย try-except
ตัวอย่างโค้ด
import boto3
from botocore.exceptions import ClientError
def update_workflow_detail(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(f"boto3 client error: {e}")
except Exception as e:
raise Exception(f"Unexpected error: {e}")
# ใช้งาน
result = update_workflow_detail('dev-aiml-naviga-ods-load', 'Updated description')
print(result)ผลลัพธ์ตัวอย่าง
{
'Name': 'dev-aiml-naviga-ods-load',
'ResponseMetadata': {
'RequestId': 'b328d064-24ab-48c4-b058-852387a3d474',
'HTTPStatusCode': 200,
...
}
}พารามิเตอร์สำคัญ
- Name (required): ชื่อ workflow
- Description (optional): คำอธิบายใหม่
- DefaultRunProperties (optional): พร็อพเพอร์ตี้เริ่มต้นสำหรับการรัน workflow
ข้อควรระวัง
ต้องมี IAM permission glue:UpdateWorkflow และ region ต้องถูกต้องใน session config