如何从不同的 GCP 项目触发 Airflow dag?

How to trigger an Airflow dag from different GCP project?

我有两个独立的 DAG,比方说 DAG_ADAG_B,每个都有多个任务

这两个 DAG 在不同的 GCP 项目中,假设分别为 projct-1project-2

请看这张简化问题的图片: Overview of the architecture

问题是:使用 TriggerDagRunOperator 是否可行,因为我看不到任何更改 GCP 项目的选项该运营商的 ID ?

此外,实现“假设 TriggerDagRunOperator 在那种情况下不起作用”的最佳方法是什么?

无法使用 TriggerDagRunOperator 执行此操作,因为操作员只能看到它所在的 Airflow 实例的范围。

您唯一的选择是使用 Airflow Rest API。 在 DAG_C 中,trigger_B 任务需要是一个 PythonOperator,它使用 project_2 的其余 API 进行身份验证,然后使用 Trigger new DagRun endpoint to trigger DAG_B. Note that Airflow provides official Python client 作为API 所以你可以用它来完成这个任务。