BaseOperator.xcom_pull中的上下文参数是什么

leo*_*yin 2 python airflow

我正在阅读API文档,但不清楚BaseOperator.xcom_pull上下文参数是什么

我以为会是dag.default_args,但是我收到了KeyError: 'ti'

我在这里的push()示例之后的先前任务中执行了xcom_push 。

joy*_*gao 5

上下文是一组包含与任务实例参考对象,诸如关键字参数dagdag_runrun_idexecution_date,等等(包括任务实例ti本身)。

默认上下文是在任务实例运行时生成的,并在此处定义。

在您提到的示例中,传递上下文的方式并不十分明显:如果provide_contextarg设置为True,则Airflow会将生成的上下文传递给python可调用对象。然后,您可以通过调用来访问任务实例的xcom_pull方法kwargs['ti'].xcom_pull()

因此,要执行此操作,您需要**kwargs在python callable的标头中定义,并将运算符的provide_contextarg 设置为True

我不确定如何直接获取上下文引用。

  • 关于 xcom 和 provide_context 的官方文档真的很混乱。 (3认同)