Airflow ได้ยกเลิกการใช้งาน Experimental Rest API ไปตั้งแต่ v2.0.0 ด้วยเหตุผลว่า Experimental ไม่มีการควบคุมการเข้าถึง จึงได้เกิด Airflow API (Stable) (1.0.0) ขึ้นมา ดูเพิ่มเติม
มาทดลองใช้กัน
สิ่งที่ต้องมี
- Postman
เปิดใช้งาน Authenticate
แก้ไข auth_backend ใน airflow.cfg
[api]
auth_backend = airflow.api.auth.backend.basic_auth
เราจำเป็นจะต้องเปิดการใช้ Authen ไม่งั้น API v1 จะปฏิเสธการร้องขอ (PermissionDenied) อย่าลืม restart ด้วย
ระบุ URL ลงใน Postman
ในกรณีที่ URL ของเราเป็น Localhost ในการ Trigger จะใช้ HTTP Methods:POST
http://localhost:8080/api/v1/dags/{DAG_ID}/dagRuns
กำหนด Authorization
ระบุ Type เป็น Basic Auth และ Username/Password ต้องถูกสร้างอยู่ใน airflow
กำหนด Headers
KEY: Content-Type VALUE: application/json
กำหนด Body
ระบุเป็น raw ประเภท JSON ใส่ค่า {}
Response
ถ้าไม่มีการทำงานที่ผิดพลาดได้จะรับ Response
{
"conf": {},
"dag_id": "covid19_daily",
"dag_run_id": "manual__2021-02-25T10:04:41.703172+00:00",
"end_date": null,
"execution_date": "2021-02-25T10:04:41.703172+00:00",
"external_trigger": true,
"start_date": "2021-02-25T10:04:41.708731+00:00",
"state": "running"
}
เรากลับไปเช็คที่หน้า Web UI ก็จะพบว่า DAG ของเรารันแล้ว เป็นการทำงานแบบ manual
ภายใน web ของ Airflow ก็จะมีคำอธิบาย วิธีการใช้งาน api ต่างๆให้ดู
ดูการใช้งาน Airflow REST API เพิ่มเติมได้ที่
Top comments (0)