使用Pub/Sub消息触发Cloud Composer DAG



我正在尝试创建一个通过Pub/Sub消息触发的Cloud Composer DAG。谷歌提供了以下示例,每当云存储桶发生变化时,它都会触发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。我花了很多时间试图弄清楚如何做到这一点,但没有结果。

你能帮我或者给我指个路吗?谢谢

有两种方法可以通过Pub/Sub事件触发DAG。

  1. 您可以在DAG的开头放置PubSubPullSensor。每次PubSubPullSensor可以提取Pub/Sub消息时,您的DAG都会被触发。它将执行DAG中的其余任务
  2. 您还可以创建一个充当Pub/Sub触发器的Cloud函数。并将Composer DAG触发逻辑放入Cloud Function触发器中。当消息发布到Pub/Sub主题时,Cloud Function应该能够触发Composer DAG

要扩展您已经发布的公共文档页面,您可以配置云函数,使其在每次向云发布/子主题发布消息时运行。在另一个公共文档页面中有更多关于这方面的信息。

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

gcloud functions deploy $FUNCTION_NAME --runtime $RUNTIME --trigger-topic $TOPIC_NAME

最新更新