Airflow 使用发布/订阅消息触发Cloud Composer DAG

Airflow 使用发布/订阅消息触发Cloud Composer DAG,airflow,google-cloud-pubsub,directed-acyclic-graphs,google-cloud-composer,Airflow,Google Cloud Pubsub,Directed Acyclic Graphs,Google Cloud Composer,我正在尝试创建一个通过发布/订阅消息触发的Cloud Composer DAG。 谷歌有一个例子,每当云存储桶发生变化时,就会触发DAG: 然而,一开始,他们说你可以触发DAG来响应事件,比如云存储桶中的更改或推送到云发布/订阅的消息。我花了很多时间试图弄清楚如何做到这一点,但没有结果 你能帮我一下或给我指路吗?谢谢 要扩展您已经发布的公共文档页面,您可以将云函数配置为在每次将消息发布到云发布/子主题时运行。有关这方面的更多信息,请参阅 要将函数附加到主题,请在部署函数时设置-trigger

我正在尝试创建一个通过发布/订阅消息触发的Cloud Composer DAG。 谷歌有一个例子,每当云存储桶发生变化时,就会触发DAG:

然而,一开始,他们说你可以触发DAG来响应事件,比如云存储桶中的更改或推送到云发布/订阅的消息。我花了很多时间试图弄清楚如何做到这一点,但没有结果


你能帮我一下或给我指路吗?谢谢

要扩展您已经发布的公共文档页面,您可以将云函数配置为在每次将消息发布到云发布/子主题时运行。有关这方面的更多信息,请参阅

要将函数附加到主题,请在部署函数时设置-trigger topic标志:

gcloud函数部署$FUNCTION\u NAME-运行时$runtime-触发主题$topic\u NAME
有两种方法可以通过发布/订阅事件触发DAG

您可以在DAG的开头放置一个。每次PubSubPullSensor拉入发布/订阅消息时,都会触发DAG。它将执行DAG中的其余任务。 您还可以创建一个。并将其放入云函数触发器中。当消息发布到发布/订阅主题时,云函数应该能够触发Composer DAG。
谢谢您的回复。我正在研究第二个选项,但我不知道在发布/订阅中将什么作为端点URL。有什么帮助吗?@harry77发布/订阅中的端点URL是什么意思。你要走哪一步?我试了第一个选择。将PubSubPullSensor放置在开始位置,但在发布/订阅主题上的新消息后,DAG无法自动触发。看起来它只是一个集成选项,使您能够读取发布在发布/订阅主题上的消息。@BalajeeVenkatesh如果我正确理解您的问题,解决方法是预先启动包含PubSubPullSensor的DAG。因此,DAG将始终在那里侦听发布/订阅消息。PubSubPullSensor是一个可用于从发布/订阅中读取消息的模块。最终,我们创建了一个包含此模块的任务。提前启动DAG可以启动Pull任务并一直等待发布/订阅主题的新消息。任务在读取所有消息并导致执行DAG的下一个任务时结束。这意味着第一个任务不会一直打开,因此DAG不会永远在那里听消息。