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

时间:2019-10-25 01:42:44

标签: airflow google-cloud-pubsub directed-acyclic-graphs google-cloud-composer

我正在尝试创建要通过发布/订阅消息触发的Cloud Composer DAG。 Google提供了以下示例,每当Cloud Storage存储桶中发生更改时,该示例就会触发DAG: https://cloud.google.com/composer/docs/how-to/using/triggering-with-gcf

但是,他们一开始说you can trigger DAGs in response to events, such as a change in a Cloud Storage bucket or a message pushed to Cloud Pub/Sub。我花了很多时间试图弄清楚该怎么做,但没有结果。

您能帮忙还是给我一些指导?谢谢!

2 个答案:

答案 0 :(得分:1)

有两种方法可以通过发布/订阅事件触发DAG。

  1. 您可以在DAG的开头放置一个PubSubPullSensor。每当PubSubPullSensor可以拉出发布/订阅消息时,就会触发您的DAG。它将执行DAG中的其余任务。
  2. 您还可以创建一个Cloud Function that acts as Pub/Sub trigger。并将Composer DAG triggering logic放在Cloud Function触发器中。将消息发布到“发布/订阅”主题时,Cloud Function应该能够触发Composer DAG。

答案 1 :(得分:0)

要扩展已经发布的公共文档页面,您可以将Cloud Function配置为在每次将消息发布到Cloud Pub / Sub主题时运行。 another public documentation page中有关于此的更多信息。

要将功能附加到主题,请在部署功能时设置input[type="file"]标志:

--trigger-topic