气流:如何在非 PythonOperator 中使用 xcom_push 和 xcom_pull

kee*_*kee 10 airflow

我看到了很多关于如何使用的例子xcom_push,并xcom_pull在气流PythonOperators。

我需要xcom_pull非 PythonOperator类中进行操作,但找不到如何操作。

任何指针或示例将不胜感激!

tob*_*bi6 8

您可以从模板化字段中访问 XCom 变量。例如,从 XCom 读取:

myOperator = MyOperator(
    message="Operation result: {{ task_instance.xcom_pull(task_ids=['task1', 'task2'], key='result_status') }}",
    ...
Run Code Online (Sandbox Code Playgroud)

也可以不指定任务以在一个具有相同密钥名称的 DagRun 中获取所有 XCom 推送

myOperator = MyOperator(
    message="Warning status: {{ task_instance.xcom_pull(task_ids=None, key='warning_status') }}",
    ...
Run Code Online (Sandbox Code Playgroud)

将返回一个数组。