我了解了所有有关Google Cloud Functions Triggers的知识,并且我了解它们非常适合在Cloud Firestore中进行写/更新/删除之前进行一些数据预处理。这是真的吗?
但是,我不想听数据库中的更改,而是想在Cloud Functions中编写自定义代码并直接从客户端SDK调用它。
我要这样做的原因是,我不想在我的客户端代码中使用长时间复杂的数据库集成逻辑。例如,我只想调用一个名为createGame
的云函数,然后让自定义云函数处理对Firestore的嵌套调用,进行健全性检查并仅向我返回客户端将要显示的干净数据。>
我发现有一个名为cloud_functions的Flutter插件。 此文档还显示了如何编写custom callable functions。
我们可以编写自定义的可调用云函数,如下所示:
exports.createGame = functions.https.onCall((data, context) => {
// ...
return {
...
}
});
我们可以从Flutter客户端调用相应的自定义可调用云函数,如下所示:
final dynamic response = await CloudFunctions.instance.call(
functionName: 'createGame',
parameters: <String, dynamic>{
'message': 'hello world!',
'count': clientCount,
},
);
有大量的Cloud Functions触发器示例/视频/教程。但是很少有可调用的云函数。这就是为什么我对此主题有些怀疑的原因。
问题: 我的问题是这是否是好习惯?还是应该从客户端执行此特定的Cloud Function正在执行的操作?请同时注意定价,速度,可靠性和其他因素:)
最后一件事,
函数实现使用https.onCall
。您是否认为https
放慢了速度?