在Airflow中,如何获取父任务、任务id?
我有一个分支任务,它依赖于它的直接上游设置的XCOM。上游任务id通过诸如task_1、task_2..task_n之类的循环生成。在Airflow中,如何获取父任务、任务id?,airflow,apache-airflow-xcom,Airflow,Apache Airflow Xcom,我有一个分支任务,它依赖于它的直接上游设置的XCOM。上游任务id通过诸如task_1、task_2..task_n之类的循环生成。 比如说: task_n >> branch[task_a, task_b] def branch_callable(task_instance, task, **kwargs): upstream_ids = task.upstream_task_ids # an iterable xcoms = task_instance.xco
比如说:
task_n >> branch[task_a, task_b]
def branch_callable(task_instance, task, **kwargs):
upstream_ids = task.upstream_task_ids # an iterable
xcoms = task_instance.xcom_pull(task_ids=upstream_ids)
# process the xcoms of the direct upstream tasks
分支是否有办法访问其直接上游设置的XCOM?我知道我可以使用op_kwargs并将任务id传递给分支。我只是想看看是否有一种更自然的方法来实现它。PythonBranchOperator应该使用
provide_context=True
创建,可调用的python可以如下所示:
task_n >> branch[task_a, task_b]
def branch_callable(task_instance, task, **kwargs):
upstream_ids = task.upstream_task_ids # an iterable
xcoms = task_instance.xcom_pull(task_ids=upstream_ids)
# process the xcoms of the direct upstream tasks
你的意思是
ask\u n>>branch>[task\u a,task\b]
?你想让task\u a
和task\u b
从task\u n
中获取一个值,还是让branch
从task\u n
中获取一个值?要么让分支从task\u n获取值,要么让我需要“branch”来识别任务的任务id,因此,我可以检索task\n设置的XCOM。