无论您是刚开始开发应用程序还是拥有成熟的生产应用程序,您都希望确保了解您的成本以及如何避免意外账单。
如果您还没有,请查看Firebase 定价计划,了解 Firebase 的计费方式。
本页面将指导您了解和监控您的使用情况和支出水平的重要方面,包括:
测试你的代码
在部署到生产之前测试您的代码是一个好主意,原因有很多,例如捕获可能会花费您大量资金的错误。在为您的应用构建基础架构时,我们强烈建议您首先使用Firebase Local Emulator Suite进行本地测试。
Local Emulator Suite 允许您在桌面计算机上本地运行 Cloud Functions、Cloud Firestore、实时数据库等实例。这不仅使您可以更轻松地快速迭代新功能(尤其是 Cloud Functions),而且还可以确保您不会因在生产环境中对服务进行测试而产生任何 Firebase 成本。
在您进行测试时,请检查超出预期使用量和支出的这些常见原因:
忘记为具有数百万个结果的数据库查询添加限制
导致过度扇出工作负载甚至无限循环的云功能组合
查看您的使用情况和支出水平
您需要知道您的应用程序的正常使用模式是什么样的,并确保您保持在对您很重要的阈值范围内。
查看个别产品使用情况
您可以在 Firebase 控制台中的许多产品的“使用情况”标签中查看单个产品的使用情况。
查看整体项目使用情况
您可以在 Firebase 控制台的Usage and billing仪表板中查看项目的整体使用情况(转到Project Settings > Usage and billing )。
您可以查看您的每月使用量以及您的使用量如何达到分配的免费使用配额。
单击任何产品以查看每日使用摘要以及它如何达到分配的免费使用配额。
请记住,每种产品都有不同的使用配额,因此也有不同的时间表,例如:
Cloud Firestore 和 Cloud Storage 使用量每天计算一次。
Cloud Functions 使用量按月计算。
设置预算提醒电子邮件
通过在 Google Cloud Billing 中创建预算并设置预算提醒,避免您的帐单出现意外情况。本节介绍如何为您的 Firebase 项目执行这两项操作。
您可以设置简单的预算警报,当您的项目超过设定的支出阈值时,它会向您和您的团队成员发送电子邮件通知。
如果您最近升级到 Blaze 定价计划,您可能已经收到预算提醒。但是,如果您想了解有关预算警报的更多信息、设置新警报或修改现有警报,本部分适合您!
预算和预算警报概述
预算是您计划每月支出的一般金额。
每当您的项目的支出水平达到您设置的阈值时,预算警报就会发送一封电子邮件。预算提醒不会关闭您应用的服务或使用。
我们不会关闭服务和使用,因为尽管您的应用程序中可能存在导致支出增加的错误,但您可能只是在体验您的应用程序意外的正增长。您不希望您的应用程序在您最需要它工作时意外关闭。
设置预算和简单的预算提醒
要设置预算或预算提醒,您需要成为关联 Cloud Billing 帐号的所有者。
转到Google Cloud Console ,访问您的项目,然后选择Billing 。
转到预算和警报面板,然后完成以下步骤以设置预算和电子邮件预算警报:
选择现有预算或创建新预算。
给您的预算起一个描述性的名称。
设置预算警报的范围,包括您希望预算警报应用于的项目和服务。在开始使用预算警报时,您可能希望选择所有服务。
使用以下选项之一设置金额>预算类型:
一定数量的资金——当你第一次开始或测试你的应用程序时使用这种类型
金额等于您的项目上个月花费的金额- 当您的应用程序稳定增长并且您不想每个月不断更新预算金额时使用此类型
设置预算警报百分比。
对于初始测试,尝试几个百分比,例如Actual的 1%、2%、5% 和 50%。
对于生产应用程序,请尝试关键百分比,例如Actual的 50% 和 100% 以及Forecasted的 150%。
设置谁应该收到电子邮件。
默认情况下,具有相应结算权限的任何人都会收到通知电子邮件(默认情况下,关联 Cloud Billing 帐号的结算帐号管理员和结算帐号用户)。
您还可以向团队中的其他人发送电子邮件。这需要创建一个 Cloud Monitoring 工作区,然后将基于电子邮件的通知渠道添加到工作区的警报部分。有关此设置的更多信息,请访问设置高级计费警报和逻辑。
如果您为低百分比的预算(例如 1%)设置通知,您应该会在几个小时或几天内收到一封电子邮件,告诉您您的项目已达到该阈值。
下一步
访问设置高级计费警报和逻辑以了解如何执行以下操作:
使用 Cloud Monitoring 为计费和使用情况创建更复杂的警报,包括将通知发送到 Slack 等其他媒体的自定义警报。
基于 Google Cloud Pub/Sub 创建额外的计费逻辑。