Introducción a Apache Airflow en Python
Mike Metzger
Data Engineer

{{ ... }} representa una sustitución de plantilla
logical_date: cuándo ocurre una ejecución del DAGds: logical_date en formato YYYY-MM-DDlogical_date.year, logical_date.month, logical_date.day: acceder a componentes de fechaparams: parámetros en tiempo de ejecución del DAGmacros.ds_add: permite cálculos de fechas@dag(dag_id=`sales_etl`, on_failure_callback=SmtpNotifier( to='[email protected]', from_email='[email protected]',subject='sales_etl on {{ logical_date }} has failed!' ) )
ds (logical_date en YYYY-MM-DD )macros.ds_addfilewatcher = FileSensor(
task_id="wait_for_files",
filepath="/data/{{ macros.ds_add(ds, -1) }}/input.csv",
...
)
ds es 2026-04-30, la ruta sería /data/2026-04-29/input.csv
Introducción a Apache Airflow en Python