Apache Airflow-如何在TriggerDagRunOperator触发的流中检索运算符外部的dag_运行数据

Apache Airflow-如何在TriggerDagRunOperator触发的流中检索运算符外部的dag_运行数据,airflow,google-cloud-composer,Airflow,Google Cloud Composer,我设置了两个DAG,让我们分别调用第一个协调器和第二个工作器。Orchestrator的工作是从API中检索一个列表,并为此列表中的每个元素使用一些参数触发辅助DAG 我将这两个工作流分开的原因是,我希望能够仅重播失败的“工作”工作流(如果其中一个工作流失败,我不希望重播所有工作实例) 我能够让事情顺利进行,但现在我看到了监控有多么困难,因为我的任务id对所有人来说都是一样的,所以我决定基于“orchestrator”工作流从API检索的值设置动态任务id 但是,我无法从运算符外部的dag_运行

我设置了两个DAG,让我们分别调用第一个协调器和第二个工作器。Orchestrator的工作是从API中检索一个列表,并为此列表中的每个元素使用一些参数触发辅助DAG

我将这两个工作流分开的原因是,我希望能够仅重播失败的“工作”工作流(如果其中一个工作流失败,我不希望重播所有工作实例)

我能够让事情顺利进行,但现在我看到了监控有多么困难,因为我的任务id对所有人来说都是一样的,所以我决定基于“orchestrator”工作流从API检索的值设置动态任务id

但是,我无法从运算符外部的dag_运行对象检索值。基本上,我希望这能起作用:

with models.DAG('specific_workflow', schedule_interval=None, default_args=default_dag_args) as dag:
    name = context['dag_run'].name
    hello_world = BashOperator(task_id='hello_{}'.format(name), bash_command="echo Hello {{ dag_run.conf.name }}", dag=dag)
    bye = BashOperator(task_id='bye_{}'.format(name), bash_command="echo Goodbye {{ dag_run.conf.name }}", dag=dag)

    hello_world >> bye
但我无法定义这个“上下文”对象。但是,我可以从操作符(例如PythonOperator和bash操作符)访问它


是否可以在操作员之外检索dag_run对象?

我认为目前不太可能。例如,作为辅助运行进程的一部分,检索DAG时,除了查找DAG的位置外,不提供任何TaskInstance上下文:

稍后将注入上下文:


DAG的
run\u id
将是存储此信息的好地方。

在代码引用中,我定义了一个假设的“context”对象,可以从中检索“DAG\u run”对象。但这只是一个假设,我不知道这样的对象是否存在。换言之,我想在操作符之外检索一个dag_run对象。