Firebase 中的 Function Cloud 是不是免费(Cloud Functions 部署需要按需付费 (Blaze) 计费方案)
Posted
技术标签:
【中文标题】Firebase 中的 Function Cloud 是不是免费(Cloud Functions 部署需要按需付费 (Blaze) 计费方案)【英文标题】:Is Cloud Functions in Firebase Free or Not (Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan)Firebase 中的 Function Cloud 是否免费(Cloud Functions 部署需要按需付费 (Blaze) 计费方案) 【发布时间】:2020-10-30 14:10:27 【问题描述】:当我进行第一次部署功能时,我无法部署,因为我有错误要求我将我的帐户升级到 Blaze 我需要知道我可以在使用免费帐户时部署功能吗??
输出:
i deploying functions
i functions: ensuring required API cloudfunctions.googleapis.com is enabled...
i functions: ensuring required API cloudbuild.googleapis.com is enabled...
! functions: missing required API cloudbuild.googleapis.com. Enabling now...
+ functions: required API cloudfunctions.googleapis.com is enabled
Error: Cloud Functions deployment requires the pay-as-you-go (Blaze) billing plan. To upgrade your project, visit the following URL:
https://console.firebase.google.com/project/institute-for-admin/usage/details
For additional information about this requirement, see Firebase FAQs:
https://firebase.google.com/support/faq#functions-runtime
【问题讨论】:
【参考方案1】:如消息所述,如果您以 nodejs 10 为目标,则无法在 Spark 免费层上部署功能。Read the link to the FAQ:
为什么我需要一个计费帐户才能使用 Node.js 10 运行时 Firebase 的云函数?
因为计划在 8 月更新其底层架构 2020 年 1 月 17 日,Cloud Functions for Firebase 将依赖于一些额外的 付费 Google 服务:Cloud Build、Container Registry 和 Cloud Storage。这些架构更新将适用于部署的功能 到 Node.js 10 运行时。这些服务的使用将在 现有定价的补充。
在新架构中,Cloud Build 支持部署 职能。您只需为所需的计算时间付费 构建一个函数的运行时容器。
与Google Container Registry 互操作的云存储将 为运行函数的容器提供存储空间。 您需要为部署功能所需的每个容器付费。如果 您当前在免费使用限制内使用 Cloud Functions,您 可能会注意到每个存储的容器都有新的小额费用——例如, 1GB 存储空间为billed at $0.026 per month。
要详细了解您的帐单可能发生的变化,请查看 关注
Cloud Functions pricing:现有的免费套餐没有改变。 Cloud Build pricing:Cloud Build 提供免费套餐。 Container Registry pricing。
如果您想以节点 8 为目标,那可能仍然有效。但它已被弃用,您的函数最终将停止工作。在这种情况下,您仍然需要migrate them to node 10,并提供一个结算帐户。
Cloud Functions 仍然有每月免费配额documented in the pricing page。但是您必须提供信用卡并加入计费计划才能使用它。您将负责支付每月的超额费用。
【讨论】:
非常感谢我将使用节点 8 进行测试,一切正常后我将节点升级到 10 这是否意味着“完全免费的服务器端代码执行”的时代已经结束?他们需要一个计费帐户才能在服务器端执行代码? 所以实际上没有办法指定我们的网站应该只是关闭而不是过度收费。如果我们的网站遭受 DDOS 攻击,我们将全权负责付款。对于小型开发人员来说没有意义 注意可以限制使用cloud.google.com/docs/quota#capping_usage @Xanlantos 遗憾的是,您无法为 Firestore 读取/写入等设置限制。对此的支持已在 2019 年底被取消。如果您正在创建预算,则只能在收到“警告”时创建预算超出您的计划限制。但是不能设置一个真正的限制,这是非常令人失望的。 => firebase.google.com/docs/firestore/quotas【参考方案2】:目前,Firebase 正在使用节点版本 10 进行云功能,需要您付费(即用即付)。
您可以在functions/package.json中将节点从10更改为8(免费使用)
"engines":
"node": "8". // changed from 10 to 8
,
但是,这很快就会被弃用。 Firebase 网站是这样说的:
Node.js 8 已被弃用。从 2021 年 2 月 15 日开始,我们将不再 支持 Node.js 8 功能的新部署或更新。三月开始 2021 年 15 月 15 日,我们将不再支持现有 Node.js 8 的执行 功能。
https://firebase.google.com/support/faq?authuser=0#expandable-10-label
编辑
这可能是一个遗产。请查看最新的 cmets 以获取更新的政策。
【讨论】:
非常感谢。拯救了我的一天。一直想知道为什么我的 firebase 功能没有部署。 很高兴它帮助了你!:) 已被禁用,现在firebase只允许使用10+版本部署【参考方案3】:只是为了澄清这里的混乱
Firebase 似乎关闭了 Spark 计划的云功能。所以,我想如果 firebase 计划一项一项地取消免费计划功能。
这是他们常见问题页面中的answer。
对 Cloud Functions 的这一更改是否意味着 Firebase 免费计划 (Spark) 即将停用?
没有。此更改不会影响其他 Firebase 产品。火花 3 月 15 日之后,Cloud Functions 将无法使用该计划, 2021.
【讨论】:
我已经在2021年6月部署了函数,并且有免费的Spark计划,现在我无法部署:你的项目superapp必须在Blaze (pay-as-you-go)计划才能完成这个命令.在升级完成之前,无法启用所需的 API cloudbuild.googleapis.com【参考方案4】:我不认为 Cloud Function 是免费的,即使您保持在免费配额内,因为他们似乎对容器存储收费,而容器存储似乎是在您部署函数时自动创建的。
【讨论】:
【参考方案5】:在我写这些行时 node.js 8 不再可用 'The Spark plan is available for Cloud Functions after March 15, 2021' 所以我认为我们已经迁移到 node.js 10 及更高版本,但没有免费计划:我们必须通过提供我们的卡号系列来“随用随付”。请注意,如果我们确实注意到超出某些限制,此“西装外套计划”可能是免费的 更多详情请看Start for free, then pay as you go
【讨论】:
【参考方案6】:根据Firebase Pricing,您需要继续执行计划才能使用 Cloud Functions,但您仍有免费资源配额(在撰写此回复时)
【讨论】:
【参考方案7】:截至 2020 年 6 月 8 日,答案是不,它不再免费 它曾经是将引擎设置为旧节点 8 的选项,但 as firebase states
Node.js 8(2020 年 6 月 8 日弃用)将功能部署到 Node.js 8 运行时于 12 月 15 日在 Firebase CLI 中被禁用, 2020. 已部署功能的执行将在未来某个时间点停止;如果您已将函数部署到 Node.js 8 运行时,我们建议您升级到 Node.js 14 运行时。
因此它不再是一种选择
【讨论】:
我已经在2021年6月部署了函数,并且有免费的Spark计划,现在我无法部署:您的项目superapp必须在Blaze(即付即用)计划上才能完成此命令.在升级完成之前,无法启用所需的 API cloudbuild.googleapis.com 那么,你同意吗? @CodeBy以上是关于Firebase 中的 Function Cloud 是不是免费(Cloud Functions 部署需要按需付费 (Blaze) 计费方案)的主要内容,如果未能解决你的问题,请参考以下文章
Firebase 中的 Function Cloud 是不是免费(Cloud Functions 部署需要按需付费 (Blaze) 计费方案)
Firebase 函数在 Function.MapValues 处返回 RangeError
在通过 Firebase 身份验证创建用户后,将用户名传递到后端的这两者之间哪种方法更安全?
Firebase Firestore + Cloud Function 服务器端验证应用内购买收据(Swift + NodeJS)