我想运行一些打包为java jar的代码,以响应Google firestore实体的更改。 我希望基于事件的触发器来调用此jar。基本上,对Firestore实体的任何更改(创建/删除/更新)都必须传播到外部系统。 我的要求是:
调用外部服务以响应Google Firestore表上的onWrite触发器
订购对于我的用例很重要,但我不希望对数据存储实体进行更改的时间间隔不到一秒,而是很有可能相隔几分钟
例如,与运行我自己的VM /容器相比,我更喜欢无服务器/托管服务选项。
我正在考虑的设计选项是:
使用Cloud Function进行更改并调用Cloud Composer工作流程以运行我的代码 onWriteTrigger-> Cloud Function-> Cloud Composer工作流程
使用Cloud Function拾取更改并将其发送到PubSub主题,然后调用作曲家工作流。 onWriteTrigger-> Cloud Function-> PubSub主题-> Cloud Composer工作流程
在Cloud Function中运行我的代码。如果我的代码需要10到15分钟才能运行,这是否适合我?
我担心的一件事是Firestore的触发器是beta。 Google是否可能决定更改某些内容并且我的代码停止工作。我可以在生产中安全使用此功能。
我希望从这些选项的最佳方法中获得一些建议。
答案 0 :(得分:0)
是的。您可以在firestore中添加触发功能。 Firestore被许多公司使用。所以我认为在生产中使用是安全的。
您可以使用以下云功能:
export const incomingPatientNotification = functions.firestore
.document('collectionName/{documentId}')
.onCreate(async (snapshot, context) => {
const date = snapshot.data();
// Here you can send a post request to invoke your composer workflow.
});