我是Google Cloud SQL和Pub/Sub的新手。我在任何地方都找不到关于这个的文件。但另一个问题的接受和赞成answer似乎说,它是可能的发布一个发布/订阅消息时,有一个插入发生在数据库。以下是答案的摘录:
2 -理想的解决方案是创建发布/订阅主题,并在向数据库插入新数据时发布到该主题。
但由于我的问题是不同的,因此我在这里提出了一个新的问题。
背景:我正在为我的应用程序使用Google Cloud SQL,Firestore和Realtime Database的组合,以获得其独特的优势。
我想做的是,一旦在Google Cloud SQL中插入成功,就能够写入Firestore和Realtime数据库。根据上面的答案,这是我应该做的步骤:
1.应用程序调用Cloud Function将数据插入Google Cloud SQL数据库(PostgreSQL)。* 注意:Postgres表有一些重要的约束和触发Postgres函数,这就是为什么我们要从这里开始。
1.当插入成功时,我希望Google Cloud SQL将消息发布到Pub/Sub。
1.然后还有另一个订阅发布/订阅主题的云函数。此函数将相应地写入Firestore / Realtime数据库。
2条答案
按热度按时间dl5txlt91#
另一个问题的答案只是建议您的代码执行以下两项操作:
1.写入云SQL。
1.如果写入成功,则向pubsub主题发送消息。
没有任何东西可以自动化或简化这些任务。对于将响应写入Cloud SQL的Cloud Functions,没有触发器。您为任务1编写代码,然后为任务2编写代码。这两件事都应该是直截了当的,并在产品文档中涵盖。我建议你在这两个方面都做一次尝试(分开),然后再次发布你的代码,这些代码没有按照你期望的方式工作。
如果您需要开始使用pubsub,几乎每个主要的服务器平台都有SDK,发送消息的文档是here。
uxh89sit2#
正如注解中提到的,现在可以使用https://cloud.google.com/datastream
原文回答:
虽然Google Cloud SQL不会自动管理触发器,但您可以在Postgres中创建触发器:
然后,在您的客户端中,监听该事件:
在监听器中,您可以推送到pubsub或云任务,或者直接写入firebase/firestore(或者您需要做的任何事情)。
来源:https://edernegrete.medium.com/psql-event-triggers-in-node-js-ec27a0ba9baa
您还可以查看Supabase,它现在支持在创建/更新/删除行后触发云函数(测试版)(基本上执行上面的代码,但您可以获得一个很好的UI来配置它)。