You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用TriggerDagRunOperator传参至Airflow子DAG时遇未定义错误

问题原因分析

你的错误根源是混淆了Python函数参数和Airflow Jinja模板上下文变量:

  • 父DAG的date_start、date_end是定义DAG的Python函数parent_dag的参数,属于Python代码层面的变量,并非Airflow模板上下文里的可渲染变量。
  • 你在conf里用{{date_start}}的Jinja语法时,Airflow会尝试从模板上下文(比如execution_date、dag_run.conf等内置变量)查找这个变量,但上下文里并没有该变量,因此抛出UndefinedError。
修复方案

直接使用Python变量传递参数,无需Jinja模板语法:

@dag(default_args=default_args, catchup=False, #schedule_interval=DAG_SCHEDULE_INTERVAL,
     dagrun_timeout=timedelta(seconds=3600), tags=["tag1"], doc_md=DOC_MD, max_active_runs=1)
def parent_dag(date_start="", date_end=""):

    triggered_dag = TriggerDagRunOperator(
          task_id='triggered_dag',
          trigger_dag_id='triggered_dag',
          conf={"date_start": date_start, "date_end": date_end}  # 直接引用Python函数参数
    )
     
    triggered_dag 

dag = parent_dag()

另外注意你原代码中date_end的取值错误写成了date_start,修复时需修正为date_end。


内容的提问来源于stack exchange,提问作者Cristian Ispan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 14:24:29