BigQuery中有新数据时触发云功能

2024-04-15

我想在新数据导入 BigQuery 表时触发 Cloud Function。理想情况下,我想提取已插入的所有行(一列是 ISIN)。

这可能吗?如何实现?


2022 年 6 月更新:第二代 Cloud Functions 支持Eventarc https://cloud.google.com/functions/docs/2nd-gen/overview#broader_event_coverage_and_cloudevents_support

使用 Eventarc 可以侦听一长串云事件,然后触发一组消费者,包括云函数。

的组合serviceName = bigquery.googleapis.com and methodName = jobservice.jobcompleted带有附加自定义过滤器的可用于创建 Eventrac 接收器,从中可以触发 Cloud Functions。您可以阅读更多内容here https://atamel.dev/posts/2021/06-08_bigquery-jobs-notifier/.

这还不是本土人BigQuery <> Cloud Function集成,因为它使用第三个云服务。因此,它与 2022 年 6 月之前建议的使用 Cloud Logging 创建接收器的解决方案没有太大区别。然而,这是目前在 GCP 上实施跨服务触发器的更好实践。


旧答案:不幸的是,截至 2022 年 5 月,BigQuery 没有触发器作为本机功能:/但是,您可以实施一个很好的解决方法! :)

您可能知道,GCP 中的几乎每个操作都会记录到云日志记录 https://cloud.google.com/logging(以前称为 StackDriver 日志记录)。在this https://www.cardinalpath.com/blog/cloud-functions-bigquery-data-feed-automation在文章中,他们演示了如何在 BigQuery 加载作业完成时触发 Cloud Function。这个想法很简单:

  1. 为 BigQuery 加载作业创建过滤器云日志记录 https://cloud.google.com/bigquery/docs/monitoring#logs捕获加载作业何时终止。
  2. 创建一个水槽 https://cloud.google.com/logging/docs/export#export_your_logs从 Cloud Logging 到 Pub/Sub 主题。
  3. 设置您的云功能 https://cloud.google.com/functions/docs/calling/pubsub作为这个主题的消费者并实现你的逻辑

谷歌甚至将这个概念发布为article https://cloud.google.com/blog/topics/developers-practitioners/how-trigger-cloud-run-actions-bigquery-events.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

BigQuery中有新数据时触发云功能 的相关文章

随机推荐