Cloud Functions和Firebase Functions之间有什么区别?
Cloud Functions和Firebase Functions之间有什么区别?
Cloud Functions 和 Firebase Functions(或称 \"Cloud Functions for Firebase\") 看起来非常相似。请描述每个的使用场景。
两者都使用 HTTP 函数。
在 Cloud Functions 中:
exports.helloHttp = function helloHttp (req, res) { res.send(`Hello ${req.body.name || 'World'}!`); };
而在 Firebase Functions 中:
exports.helloWorld = functions.https.onRequest((request, response) => { response.send("Hello from Firebase!"); });
它们之间有什么区别?
还有一个额外的区别:Firebase Functions只能在JS或Node.JS中实现,而Cloud Functions也允许使用Python和Go。
在Spark计划上,它们的定价也有一些小差异。请查看https://firebase.google.com/pricing和https://cloud.google.com/functions/pricing了解更多信息。如果你在Blaze计划上,那么定价是相同的。
我恰好在我的Firebase项目中同时使用两者。
没有叫做Firebase Functions的产品。
实际上有三件不同的事情:
- Google Cloud Functions,允许您在Google的基础设施中运行代码片段来响应事件。
- Cloud Functions for Firebase,通过Firebase中的事件(例如数据库或文件写入,用户创建等)触发Google Cloud Functions。
- Firebase SDK for Cloud Functions,其中包括一个库(令人困惑地称为
firebase-functions
),您可以在您的Functions代码中使用该库来访问Firebase数据(例如写入到数据库的数据的快照)。
因此,Firebase为Google Cloud Functions提供了一个(相对较薄的)包装器,以使后者更易于使用,并将其与Firebase集成。在这方面,它类似于Firebase如何将Google Cloud Storage集成到“Cloud Storage for Firebase”中(以前称为Firebase Storage)。
如果您在使用没有Firebase的Google Cloud平台,则应该使用普通的Google Cloud Functions。如果您在Firebase上运行,或者您是一个对Cloud Functions感兴趣的移动开发人员,则应该使用Cloud Functions for Firebase。