了解错误代码

本页面列出了您可能会遇到的错误代码,并提供了有关如何解决各个错误代码的建议。

DEADLINE_EXCEEDED

以下情况可能会增加 DEADLINE_EXCEEDED 错误:

  • 延迟时间增加导致操作完成所需的时间超出截止时间(默认为 60 秒)。
DEADLINE_EXCEEDED

A deadline was exceeded on the server.

如需解决此问题,请参阅有关排查延迟时间问题的指南

ABORTED

以下情况可能会增加 ABORTED 错误:

  • 文档每秒接收的更新过多。
  • 由于事务重叠导致争用。
  • 流量增加超过 500-50-5 规则或遇到热点。
ABORTED

Too much contention on these datastore entities. Please try again.

ABORTED

Aborted due to cross-transaction contention. This occurs when multiple
transactions attempt to access the same data, requiring Firestore to abort at
least one in order to enforce serializability.

要解决此问题,请执行以下操作:

  • 对于流量快速增加,Firestore 会尝试自动扩缩以满足增加的需求。当 Firestore 扩缩时,延迟时间会开始缩短。
  • 热点限制了 Firestore 扩容的能力,请查看可扩缩设计来确定热点。
  • 查看事务中的数据争用以及您对事务的使用情况。
  • 降低对各个文档的写入速率。

RESOURCE_EXHAUSTED

以下情况可能会导致 RESOURCE_EXHAUSTED 错误:

  • 您已超出免费层级配额,并且没有为您的项目启用结算功能。

  • 未遵循最佳实践的流量增长

RESOURCE_EXHAUSTED

Some resource has been exhausted, perhaps a per-user quota.

RESOURCE_EXHAUSTED

This database has exceeded their daily quota or the ramp up limit for writes, please retry with exponential backoff. To learn more about limits, see 'Usage and limits' section of the support documentation.

要解决此问题,请执行以下操作:

  • 如果您已达到免费层级配额,请等待重置每日免费层级配额或为您的项目启用结算功能

  • 对于流量快速增加,Firestore 会尝试自动扩缩以满足增加的需求。当 Firestore 扩缩时,错误可能会减少。

  • 热点限制了 Firestore 扩容的能力。查看可扩缩设计,以确定热点。

  • 对于实时监听器查询,请确保查询范围不会过广。 使用过滤条件来减少更新次数。

INVALID_ARGUMENT

以下情况可能会导致 INVALID_ARGUMENT 错误:

  • 尝试提交的文档的已编入索引的字段值大于 1,500 字节。此限制适用于字段值的 UTF-8 编码。
  • 尝试提交的文档包含的未编入索引的字段值大于 1,048,487 字节(1 MiB - 89 字节)。此限制适用于文档中字段值的总和。例如,四个大小均为 256 KiB 的字段会超出此限制。

1,500 字节(已编入索引)和 1,048,487 字节(未编入索引)是字段值的限制。您不能超出这些限制,并且这些限制不是可以调整的配额。

INVALID_ARGUMENT: The value of property field-name is longer than 1500 bytes

INVALID_ARGUMENT: The value of property field_name is longer than 1048487 bytes

要解决此问题,请执行以下操作:

  • 对于编入索引的字段值,请将字段拆分为多个字段。如果可能,请创建一个未编入索引的字段,并将不需要编入索引的数据移至未编入索引的字段。
  • 对于未编入索引的字段值,请将字段拆分为多个字段,或为字段值实现压缩。