我一直在测试来自 Unity 的 Firestore 查询,并注意到对于不返回结果的查询的收费,记录的行为和观察到的行为之间存在差异。
根据 Firestore 文档:
对于您执行的每个查询,读取一份文档的最低费用是收费的,即使查询没有返回结果也是如此。
我注意到情况并非总是如此,为了确认这一点,我做了一些测试:
根据这些测试,我的结论是:
这是未记录的行为还是我遗漏了什么?还有其他人观察到类似的结果吗?任何见解或解释将不胜感激。
注意:我是从 Unity 编辑器 (Windows PC) 查询。 Unity SDK 不允许设置源选项。我的理解是,这使用了 Firestore 的默认行为:尝试从数据库获取最新的文档快照,仅在网络不可用或请求超时时才使用离线缓存。
这是我自己问题的答案https://cloud.google.com/firestore/docs/monitor-usage#usage_dashboard_and_billing_reports
Firebase 和 Cloud 控制台中的 Firestore 使用情况仪表板 提供使用情况的估计。它们可以帮助您识别峰值 用法。但是,仪表板并不是计费的精确视图 运营。计费使用量可能会更高。在所有情况下 差异,计费报告优先于使用情况 仪表板。
导致使用情况仪表板和仪表板之间存在差异的操作 计费使用情况包括:
- 返回零结果的查询。 查询 结果为零会导致一次读取操作的成本。这个用法是 已计费但不会出现在使用情况仪表板中。