การสร้าง FileSensor
หลังจากศึกษา FileSensor แล้ว ลองนำมาใช้งานจริงเพื่อทำความคุ้นเคยกับพารามิเตอร์ต่าง ๆ FileSensor นี้จะทำหน้าที่ตรวจสอบว่ามีไฟล์ข้อมูลที่ต้องการอยู่จริงก่อนที่ workflow จะดำเนินต่อไป
FileSensor จะตรวจสอบไฟล์เป็นระยะ ๆ และหยุดรอเมื่อเวลาผ่านไปครบตามที่กำหนดใน timeout (หน่วยเป็นวินาที) เมื่อใช้ mode='reschedule' worker slot จะถูกปล่อยคืนระหว่างการตรวจสอบแต่ละครั้ง
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Apache Airflow เบื้องต้นด้วย Python
คำแนะนำการฝึกหัด
- Import ไลบรารีที่จำเป็นสำหรับการใช้งาน FileSensor
- กำหนดตัวแปร
precheckให้อ้างอิงไปยัง FileSensor object - ตั้งค่า FileSensor ให้ค้นหาไฟล์ชื่อ "salesdata_ready.csv"
- กำหนด timeout เป็น 5 นาที
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Import the FileSensor class
from airflow.providers.standard.sensors.filesystem import ____
# Set the file sensor to an alias
precheck = ____(
task_id='check_for_datafile',
# Wait for this file to exist before continuing
filepath='____',
timeout=____,
mode="reschedule"
)