了解结算报告

本页提供了有助于您了解 Firestore 结算报告的提示和资源。本页面介绍了以下常见的结算问题:

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

导入和导出用量

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

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

结算标签

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

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

列出近期操作

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

Google Cloud Console

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

转到“导入/导出”页面

gcloud

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

gcloud firestore operations list

管理员操作的审核日志

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

控制台用量

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

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

计费操作

价格信息之外,还要检查应用是否存在以下可能导致结算速度比预期更快的情况:

  • 实时更新

    当您监听查询的结果时,每次结果集内添加或更新了文档,您都需要支付读取费用。查看实时侦听器的范围。如果侦听非常广泛的查询或侦听整个集合,可能会导致读取操作次数超出需求。

  • 无操作写入和无操作删除

    空操作是指不会对任何文档进行任何更改的操作。您仍然需要支付空操作写入和删除的费用。

    对于删除操作,即使指定的文档不存在,也会产生费用。

    对于写入操作,如果操作未发生任何更改,则仍会产生费用。例如,将文档字段更新为同一字段值的操作会产生费用。

  • 查询偏移

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

用量信息中心差异

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

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

  • 导入和导出操作。这些操作执行的读写操作不会显示在使用量信息中心内。
  • 无运维写入。不会导致数据库更改的操作(例如,不更改字段值的更新或对已删除文档执行的写入操作)会计入计费操作。但是,使用量信息中心不会计入这些操作。
  • 收拢的写入操作。如果快速连续对同一文档执行多次写入操作,使用量信息中心可能会将多项写入操作收拢在一起,并将其计为 1 次。对使用量计费时,系统仍会单独计入每次写入操作。

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

  • 未返回结果的查询。未返回的查询会产生一次读取操作的费用。此使用量会被计费,而不会在使用量信息中心内显示。

后续步骤

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