瞭解錯誤代碼

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

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

如何解決這個問題:

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