104

Cloud FunctionsFirebase Functions(或“Cloud Functions for Firebase”)看起来都一样。请描述每个的用例。

两者都使用 HTTP 函数。

云函数中:

exports.helloHttp = function helloHttp (req, res) {
  res.send(`Hello ${req.body.name || 'World'}!`);
};

Firebase 函数中:

exports.helloWorld = functions.https.onRequest((request, response) => {
  response.send("Hello from Firebase!");
});

这些有什么区别?

4

4 回答 4

190

没有名为 Firebase Functions 的产品。

有三个不同的东西:

  1. Google Cloud Functions,它允许您在 Google 的基础架构中运行代码片段以响应事件。
  2. Cloud Functions for Firebase,根据 Firebase 中的事件(如数据库或文件写入、用户创建等)触发 Google Cloud Functions
  3. 适用于 Cloud Functions 的 Firebase SDK,其中包含一个库(称为firebase-functions),您可以在 Functions 代码中使用该库来访问 Firebase 数据(例如写入数据库的数据的快照)

因此 Firebase 围绕 Google Cloud Functions 提供了一个(相对较薄的)包装器,以使后者的产品更易于使用并将其与 Firebase 集成。从这个意义上说,它类似于 Firebase 如何将 Google Cloud Storage 集成到“Cloud Storage for Firebase”(以前称为 Firebase Storage)中。

如果您在没有 Firebase 的情况下使用 Google Cloud Platform,那么您应该使用普通的Google Cloud Functions。如果您使用 Firebase,或者您是对 Cloud Functions 感兴趣的移动开发人员,您应该使用Cloud Functions for Firebase

于 2017-03-17T14:19:27.073 回答
8

还有一个区别:Firebase Functions 只能在 JS 或 Node.JS 中实现,而 Cloud Functions 还允许使用 Python 和 Go。

如果您使用 Spark 计划,那么它们的定价方式也存在细微差别。 如果您使用 Blaze 计划,请查看https://firebase.google.com/pricinghttps://cloud.google.com/functions/pricing ,定价是相同的。

我碰巧将两者都用于我的 Firebase 项目。

于 2020-04-25T19:50:59.170 回答
5

Google Cloud Platform,GCP,有一篇文章解决了这个问题,Google Cloud Functions and Firebase

谷歌云函数和 Firebase

Google Cloud Functions 是 Google 用于创建事件驱动应用程序的无服务器计算解决方案。它是 Google Cloud Platform 团队和 Firebase 团队的联合产品。

对于Google Cloud Platform 开发人员Cloud Functions充当连接层,允许您通过侦听和响应事件在 Google Cloud Platform (GCP) 服务之间编织逻辑。

对于Firebase 开发人员Cloud Functions for Firebase提供了一种通过添加服务器端代码来扩展 Firebase 的行为和集成 Firebase 功能的方法。

这两种解决方案都可以在完全托管的环境中快速可靠地执行功能,您无需担心管理任何服务器或配置任何基础设施。

...

Cloud Functions for Firebase 针对 Firebase 开发人员进行了优化:

  • Firebase SDK 通过代码配置您的功能
  • 与 Firebase 控制台和 Firebase CLI 集成
  • 与 Google Cloud Functions 相同的触发器,以及 Firebase 实时数据库、Firebase 身份验证和 Firebase Analytics 触发器
于 2018-12-19T20:53:32.360 回答
1

描述差异的 Google 官方视频:GCP 与 Firebase - Functions & Firestore

  1. Firebase 将为您提供将您的函数包装成可通过 firebase SDK 调用的可调用函数
  2. 语言支持,GCP 还支持 Go、Python 和 java
  3. GCP 可以通过控制台或 CLI 部署,但 firebase 功能只能通过 CLI
于 2021-05-09T10:32:54.973 回答