Airflow 气流-将Xcom拉动结果传递至TriggerDagRunOperator配置

Airflow 气流-将Xcom拉动结果传递至TriggerDagRunOperator配置,airflow,Airflow,有人知道下面的代码有什么问题吗: 本质上,我调用了一个TriggerDagRunOperator,我试图通过XCOM调用将一些conf传递给它 触发DAG: def\u应触发(**\u): 返回{'Message':'Hello World'} 应该触发=蟒蛇算子( task_id=“应该触发”, python\u callable=\u应该触发, 提供上下文=True, ) trigger\u bar\u dag=TriggerDagRunOperator( task\u id=“触发器\u

有人知道下面的代码有什么问题吗:

本质上,我调用了一个TriggerDagRunOperator,我试图通过XCOM调用将一些conf传递给它

触发DAG:

def\u应触发(**\u):
返回{'Message':'Hello World'}
应该触发=蟒蛇算子(
task_id=“应该触发”,
python\u callable=\u应该触发,
提供上下文=True,
)
trigger\u bar\u dag=TriggerDagRunOperator(
task\u id=“触发器\u bar\u dag”,
触发器\u dag\u id=“bar”,
conf={“payload”:“{{task_instance.xcom_pull('should_trigger')}},
)
目标DAG:

@dag(dag_id=“bar”,
默认参数=默认参数,
计划时间间隔=无
)
def tasks():
运行\u this=PythonOperator(
task\u id=“运行此”,
python\u callable=run\u this\u func,
提供(上下文=真)
出于某种原因,在run\u this\u func中,我得到了有效负载:None。我似乎无法通过xcom pull的conf流传入值。有人知道如何做到这一点吗。我还尝试了xcom pull的不同变体,如: ti.xcom\u pull(key='return\u value',task\u id=['should\u trigger'])无效


谢谢,

您需要指定
应该触发>>触发\u bar\u dag
,否则XCom记录可能还不存在,您将获得:

[2021-06-06 08:23:35,898] {logging_mixin.py:104} INFO - {'payload': 'None'}
但一旦我加上这个关系,我就会得到:

[2021-06-06 08:21:41,356] {logging_mixin.py:104} INFO - {'payload': "{'Message': 'Hello World'}"}

def运行此函数(**上下文):
打印(上下文['params'])

运行这个函数的
功能是什么。多年来我一直在试图弄明白这一点,当然,这很简单。非常感谢你对托马斯兹的帮助!别担心,去了,去吧!