postgresql - 每当在 Google Cloud SQL 中插入或更新数据时,是否可以向 Google Pub/Sub 发布消息?
问题描述
我是 Google Cloud SQL 和 Pub/Sub 的新手。我在任何地方都找不到有关此的文档。但是另一个问题的接受和赞成的答案似乎是说,只要数据库发生插入,就可以发布 Pub/Sub 消息。摘自该答案:
2 - 理想的解决方案是创建 Pub/Sub 主题并在您将新数据插入数据库时发布到该主题。
但是由于我的问题是另一个问题,因此我在这里提出了一个新问题。
背景:我将 Google Cloud SQL、Firestore 和实时数据库组合用于我的应用程序,以发挥其独特的优势。
一旦在 Google Cloud SQL 中成功插入,我想要做的是能够写入 Firestore 和 Realtime 数据库。根据上面的答案,这是我应该做的步骤:
- 该应用调用 Cloud Function 将数据插入 Google Cloud SQL 数据库 (PostgreSQL)。注意:Postgres 表有一些重要的约束并触发 Postgres 函数,这就是我们要从这里开始的原因。
- 插入成功后,我希望 Google Cloud SQL 将消息发布到 Pub/Sub。
- 然后是另一个订阅 Pub/Sub 主题的 Cloud Function。此函数将相应地写入 Firestore / 实时数据库。
我把第 1 步和第 3 步都弄清楚了。我正在寻找的解决方案是第 2 步。
解决方案
另一个问题的答案只是建议您的代码执行以下两项操作:
- 写入 Cloud SQL。
- 如果写入成功,则向 pubsub 主题发送消息。
没有任何东西可以自动化或简化这些任务。Cloud Functions 没有响应写入 Cloud SQL 的触发器。您为任务 1 编写代码,然后为任务 2 编写代码。这两件事都应该简单明了,并在产品文档中涵盖。我建议(分别)尝试两者,并再次使用您拥有的代码不按您期望的方式发布。
如果您需要开始使用 pubsub,几乎每个主要服务器平台都有 SDK,发送消息的文档在这里。
推荐阅读
- oracle - Oracle中是否有减去日期的功能?
- scala - Play Router:如何添加语言敏感的 URL 重定向规则?
- python - SyntaxError: import * 只允许在 systemml 的模块级别
- java - 如何从scala中的辅助构造函数访问字段?
- css - 向 laravel 应用程序添加自定义字体
- c# - 在 C# 中将具体对象转换为“对象”
- css - Flexbox:具有列换行的可变/动态高度项目
- mule - Mule 4:如果 Mule 应用程序崩溃/重新部署,批处理作业的行为
- c# - 如何访问添加到面板的控件?
- azure-devops - Azure DevOps:我们能否识别从变更集编号触发的构建?