了解您的结算报告

本页提供了一些提示和资源,可帮助您了解 Firestore 结算报告。本页介绍了以下常见结算问题来源:

  • 除了应用用量之外,费用来源还包括导入操作、导出操作和控制台用量。
  • 在您的应用中,实时更新、无操作写入和查询偏移可能会使您的使用量上升幅度超出预期。
  • 当您在控制台中使用用量信息中心时,请注意信息中心与结算报告之间的差异。

导入和导出用量

在细分结算报告时,请务必查看与 导入和导出操作相关的费用。 这些操作会执行读写操作,这些操作会计入您的 Firestore 结算。根据您导入和导出数据的频率,这些操作可能会成为计费操作的重要来源。

请注意,控制台中的用量信息中心不会反映导入和导出操作的读写操作。您可以通过以下方式查看导入/导出操作和相关费用:

结算标签

导出和导入操作会为其读写操作添加 goog-firestoremanaged:exportimport 标签。在 Cloud Billing 报告页面中,您可以使用此标签查看与导入和导出操作相关的费用:

从过滤条件菜单访问 goog-firestoremanaged 标签。

列出近期操作

您可以使用控制台或 gcloud 查看近期导入和导出操作。

控制台

您可以在 Firestore 导入/导出 页面中查看近期导出和导入操作的列表。 Google Cloud

进入“导入/导出”页面

gcloud

使用 operations list 命令可查看所有正在运行和最近完成的导出和导入操作:

gcloud firestore operations list

管理员操作的审核日志

Firestore 会针对导出操作、导入操作和 索引操作写入审核日志,请参阅 Firestore 审核日志记录信息

控制台用量

在 Firebase 控制台和 Cloud 控制台中,Firestore 数据查看器执行的读取操作会计入您的 Firestore 计费用量。当您打开或刷新 Firestore 页面时,控制台会加载文档以填充该页面。只要 Firestore 页面保持打开状态,控制台就会使用实时查询来更新可见的文档和集合。

在细分用量时,请将控制台用量视为 Firestore 操作的另一个来源。在结算报告中,您无法区分控制台流量和应用流量。

计费操作

除了价格信息之外,请查看您的应用中是否存在以下 操作,这些操作可能会导致结算费用超出预期:

  • 实时更新

    当您 监听查询结果时,如果结果集中的文档被添加或 更新,系统会针对每次添加或更新向您收取一次读取操作的费用。此外,如果文档因发生更改而从结果集中移除,系统也会针对该移除向您收取一次读取操作的费用。(相比之下,如果文档被删除,系统不会向您收取读取操作的费用。)

    查看实时监听器的范围。监听范围非常广泛的查询的结果或监听整个集合可能会导致读取操作次数超出所需次数。

  • 免运维的写入操作和免运维的删除操作

    免运维的操作是指不会导致任何文档发生更改的操作。您仍需为免运维的写入操作和删除操作支付费用。

    对于删除操作,即使给定文档不存在,您也需要支付费用。

    对于写入操作,如果操作未导致任何更改,您仍需支付费用。例如,将文档字段更新为相同字段值的操作会产生费用。

  • 查询偏移

    查询偏移会跳过指定数量的查询结果,但跳过的 结果仍会计入结算。由于存在这笔额外费用,因此您 应该使用 游标,而不是 偏移。

用量信息中心差异

Firebase 和 Cloud Console 中的 Firestore 使用量信息中心提供了估算的使用量。您可以借助这些信息确定使用量高峰。不过,信息中心内显示的计费操作信息并不准确。计费用量可能更高。如果出现任何差异,请优先参考结算报告,而不是用量信息中心。

导致用量信息中心与计费的使用量之间产生差异的操作包括:

  • 导入和导出操作。这些操作执行的读写操作不会显示在用量信息中心内。
  • 免运维的仅验证写入操作。此类写入仅验证文档存在与否对计费读取操作产生影响,但它们在写入用量信息中心内会分别显示为“UPDATE_NOOP”和“DELETE_NOOP”。
  • 免运维的写入操作。此类操作不会导致数据库更改,例如,不更改字段值的更新或对已删除文档执行的写入可能会在用量信息中心内显示为“UPDATE_NOOP”或“DELETE_NOOP”。虽然它们显示为“NOOP”,但仍计入计费操作。
  • 收拢的写入操作。如果快速连续对同一文档执行多次写入操作,用量信息中心可能会将多项写入操作收拢在一起,并将其计为 1 次。对用量计费时,系统仍会单独计入每次写入操作。

    用量信息中心也针对服务器时间戳、数字增量和数组联合操作等字段转换收拢写入操作。对于字段转换,用量信息中心可能会将多项操作计为一次操作。

  • 未返回结果的查询。未返回结果的查询会产生一次读取操作的费用。此用量会被计费,而不会在用量信息中心内显示。
  • 已读取的索引条目中读取操作。此用量会被计费,而不会在用量信息中心内显示。例如,聚合查询会针对已读取的索引条目进行结算,但此用量不会显示在用量信息中心内。

后续步骤

如需有关结算报告的更多帮助,请与 Cloud Billing 支持团队联系。