瞭解錯誤代碼

本頁面列出您可能會遇到的錯誤代碼,並提供各項錯誤的修正建議。

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, or perhaps the entire file system is out of space.

如何解決這個問題:

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

如何解決這個問題:

  • 如為已建立索引的欄位值,請將欄位分割為多個欄位。如有可能,請建立未編入索引的欄位,並將不需要編入索引的資料移至該欄位。
  • 如為未建立索引的欄位值,請將欄位分割為多個欄位,或為欄位值實作壓縮功能。