在Airflow DAG中,如果你遇到了"无法解析 {{ ds }}"的问题,这意味着你的DAG文件无法正确解析{{ ds }}
。
{{ ds }}
是Airflow的模板语法,用于获取DAG运行的日期。它的默认格式是YYYY-MM-DD
。
解决此问题的方法是确保在DAG文件中正确使用模板语法。以下是几种可能的解决方法:
确保你的DAG文件具有正确的文件扩展名。Airflow要求DAG文件以.py
结尾,以便正确解析模板语法。
确保你的DAG文件中引入了正确的Airflow模块。你的DAG文件应包含以下引入语句:
from airflow import DAG
from airflow.operators import ...
{{ ds }}
,确保它被正确包裹在{{ ... }}
内,如下所示:task1 = ...
task2 = ...
...
dag = DAG(
dag_id='my_dag',
schedule_interval='@daily',
default_args={
'start_date': datetime(2022, 1, 1),
},
)
task1 = task1.set_upstream(task2)
default_args
参数中设置了这些变量。例如:default_args = {
'start_date': datetime(2022, 1, 1),
'my_variable': 'my_value',
}
dag = DAG(
dag_id='my_dag',
schedule_interval='@daily',
default_args=default_args,
)
通过检查这些方面,你应该能够解决"无法解析 {{ ds }}"的问题,并成功使用模板语法在Airflow DAG中获取运行日期。