避免出现意外费用

无论您是刚刚开始开发应用,还是已经拥有成熟的正式版应用,都需要确保自己了解费用、知道如何避免意外的费用。

如需了解 Firebase 的结算方式,请参阅 Firebase 定价方案

本页面向您介绍了解和监控使用量和支出水平的重要方面,包括:


测试您的代码

在将代码部署到生产环境之前执行测试是一种很好的做法,原因有很多,比如发现可能会耗费大量资金的错误。 在为应用构建基础架构时,我们强烈建议您先使用 Firebase Local Emulator Suite 在本地执行测试

借助 Local Emulator Suite,您可以在桌面机器本地运行 Cloud Functions、Cloud Firestore、Realtime Database 及其他产品的实例。 这不仅可以让您更轻松地快速迭代新功能(尤其是 Cloud Functions 函数),还可以确保不会因在生产环境中测试服务而产生任何 Firebase 费用。

在测试时,请检查以下超出预期使用量和支出的常见原因:

  • 忘记为包含数百万条结果的数据库查询添加限制

  • 导致扇出工作负载过多甚至是造成无限循环的 Cloud Functions 函数组合



查看您的使用量和支出水平

您需要了解您的应用的正常使用模式,并确保其未超出重要阈值。

查看个别产品的用量

对于许多产品,您都可以在其 Firebase 控制台的“用量”标签页中查看产品用量。

查看整体项目使用量

您可以在 Firebase 控制台的“使用量和结算”信息中心(转到“项目设置”>“使用量和结算”)中查看项目的整体使用量。

  • 您可以查看每月用量,以及您的用量水平相对于分配的免费用量配额的情况。

  • 点击任一产品可查看每日使用量摘要,以及它的使用量水平相对于分配的免费使用量配额的情况。

请记住,每个产品的使用量配额不同,因此时间轴也有所不同,例如:

  • Cloud Firestore 和 Cloud Storage 的用量按天计算。

  • Cloud Functions 的使用量按月计算。



设置预算提醒电子邮件

通过在 Google Cloud Billing 中创建预算并设置预算提醒,避免产生意外费用。本部分介绍如何为 Firebase 项目执行这两项操作。

您可以设置简单的预算提醒,以便在项目超过设定的支出阈值时,系统向您和您的团队成员发送电子邮件通知。

如果您最近升级到了 Blaze 定价方案,那么您可能已经收到过预算提醒。但是,如果您想详细了解预算提醒、如何设置新提醒或修改现有提醒,那么本部分就是为您准备的!

如果您使用的是 Blaze 方案,请

预算和预算提醒概览

预算是指您每月计划支出的常规金额。

只要项目的支出达到您设置的阈值,预算提醒功能就会发送一封电子邮件。预算提醒并不会为您的应用关闭相应服务或停止使用您的应用。

我们不会为您的应用关闭相应服务或停止使用您的应用,因为虽然有可能是因为您的应用中存在错误导致支出增加,但也有可能是您的应用出现了出乎意料的正增长。在这种情况下,您希望应用发挥最佳表现,而不是意外关停。

设置预算和简单的预算提醒

要设置预算或预算提醒,您必须是关联的 Cloud Billing 帐号的 Owner。

  1. 前往 Google Cloud 控制台,访问您的项目,然后选择“结算”

  2. 前往“预算和提醒”面板,然后完成以下步骤来设置预算和通过电子邮件发送的预算提醒:

    1. 选择现有预算或创建新预算。

    2. 为您的预算指定一个描述性的名称。

    3. 设置预算提醒的范围,包括您希望应用预算提醒的项目和服务。在开始使用预算提醒时,您可能想要选择“所有服务”

    4. 在“金额”>“预算类型”中设置以下选项之一:

      • 固定金额 (A set amount of money) - 在首次启动或测试应用时使用此类型

      • 等于您的项目上个月支出的金额 (An amount equal to what your project spent last month) - 如果您的应用正在稳步增长,而且您不想每个月都更新预算金额,那么可以使用此类型

    5. 设置“预算百分比”提醒。

      • 初始测试时,您可以尝试数个百分比,例如“实际值” (Actual) 的 1%、2%、5% 和 50%

      • 对于生产应用,您可以尝试几个关键百分比,例如“实际值” (Actual) 的 50% 和 100%,以及“预测值” (Predicted) 的 150%。

    6. 设置哪些人应该收到这些电子邮件。

      • 默认情况下,具有适当结算权限的任何人(默认是相关 Cloud Billing 帐号的 Billing Account Administrator 和 Billing Account User 角色)都会收到通知电子邮件。

      • 您也可以向团队中的其他人发送电子邮件。这需要创建 Cloud Monitoring 工作区,然后将基于电子邮件的通知渠道添加到工作区的“提醒”部分。如需详细了解此设置,请访问设置高级结算提醒和逻辑

如果您在设置通知时选择了较低的“预算百分比”(例如 1%),那么您在几小时或几天内就会收到一封电子邮件,告知您的项目已达到此阈值。

后续步骤

参阅设置高级结算提醒和逻辑,了解如何执行以下任务:

  • 使用 Cloud Monitoring 创建更复杂的结算提醒和用量提醒,包括向其他媒介(如 Slack)发送通知的自定义提醒。

  • 创建基于 Google Cloud Pub/Sub 的额外结算逻辑。