有没有办法获取触发另一个 dag 的 Dag 的名称?
Is there a way to get the name of a Dag that triggered another dag?
我希望从已触发的 Dag 中访问触发另一个 Dag 的 Dag 的名称,以进行日志记录。我一直在寻找 DagRun 和上下文的气流文档,但还没有找到方法。
您可以使用模板化字符串将“触发”DAG id 添加到 TriggerDagRunOperator 的配置文件中:
TriggerDagRunOperator(conf={"triggering_dag_id": "{{ dag.dag_id }}"}, ...)
并从触发的 DAGRun conf 中获取值。例如:
def do_something(**context):
print(context["dag_run"].conf["triggering_dag_id"])
print_triggering_dag = PythonOperator(python_callable=do_something, ...)
如果您不想打印 conf,您还可以在浏览 -> DAG 运行 -> 最右边的列下调用检查 UI 中的 conf
。
我希望从已触发的 Dag 中访问触发另一个 Dag 的 Dag 的名称,以进行日志记录。我一直在寻找 DagRun 和上下文的气流文档,但还没有找到方法。
您可以使用模板化字符串将“触发”DAG id 添加到 TriggerDagRunOperator 的配置文件中:
TriggerDagRunOperator(conf={"triggering_dag_id": "{{ dag.dag_id }}"}, ...)
并从触发的 DAGRun conf 中获取值。例如:
def do_something(**context):
print(context["dag_run"].conf["triggering_dag_id"])
print_triggering_dag = PythonOperator(python_callable=do_something, ...)
如果您不想打印 conf,您还可以在浏览 -> DAG 运行 -> 最右边的列下调用检查 UI 中的 conf
。