1

我试图在我的 DAG 中将一个值从一个任务传递给另一个任务。

我的 DockerOperator 任务中有这段代码:

'''ti = kwargs['ti']'''

'''command=ti.xcom_pull(key='return_value', task_ids=['run_this']),'''

然而,我从上面的“ti.xcom_pull”这一行得到错误“无效的语法”

这个 DAG 有两个任务,第一个是任务 ID run_this,它调用一个名为run_this_now的 Python 可调用函数,并将this 作为其返回语句:return payload

我正在查看 Admin-->XComs 下的 UI,并查看键 'return_value' 及其值,如任务 ID 'run_this' 返回的值。

所以我知道我有一个带有返回值的 XCom,但语法仍然给我这个错误。

我正在运行 Airflow 2.0.2

4

1 回答 1

0

解决方法是在 DockerOperator 下使用 double {{'s 我不需要引用该变量,因为 run_this 函数仅通过“return”语句返回一个值

    command="{{ti.xcom_pull(task_ids = 'run_this')}}",
于 2022-01-26T20:13:14.600 回答