使用和限制

使用本指南來了解雲計算公司的FireStore的限制,看雲公司的FireStore定價為雲公司的FireStore成本完整,詳細的說明,包括東西需要提防。

監控您的使用情況

要監控您的雲計算公司的FireStore使用,打開雲公司的FireStore使用選項卡中的火力地堡控制台。使用儀表板來衡量您在不同時間段的使用情況。

Google Cloud Console 中的詳細用法

創建 Firebase 項目時,您同時也在創建 GCP 項目。該App Engine的配額在谷歌雲端控制台頁跟踪雲公司的FireStore使用情況和配額信息。

免費配額

Cloud Firestore 提供免費配額,讓您可以免費開始使用。免費配額數量如下所示。如果您需要更多的配額,您必須啟用您的雲端平台項目結算

配額每天應用,並在太平洋時間午夜前後重置。

免費套餐配額
存儲數據1 GB
文件讀取每天 50,000
文檔寫入每天 20,000
文件刪除每天 20,000
網絡出口每月 10 GiB

標準限制

下表顯示了適用於 Cloud Firestore 的限制。除非另有說明,否則這些都是硬限制。

集合、文檔和字段

限制細節
集合 ID 的限制
  • 必須是有效的 UTF-8 字符
  • 不得超過 1,500 字節
  • 不能包含正斜杠( /
  • 不能只由單一的時期( . )或雙句點( ..
  • 不能匹配正則表達式__.*__
子集合的最大深度100
對文檔 ID 的限制
  • 必須是有效的 UTF-8 字符
  • 不得超過 1,500 字節
  • 不能包含正斜杠( /
  • 不能只由單一的時期( . )或雙句點( ..
  • 不能匹配正則表達式__.*__
  • 如果導入數據存儲實體為公司的FireStore數據庫,數字實體ID被暴露__id[0-9]+__
文檔名稱的最大大小6 KB
文檔的最大尺寸1 MiB(1,048,576 字節)
對字段名稱的限制必須是有效的 UTF-8 字符
字段名稱的最大大小1,500 字節
對字段路徑的限制
  • 必須字段名稱與一個時期分開( 。 .
  • 可當路徑中的所有字段名都是簡單的字符串傳遞,否則必須作為一個FieldPath會對象被傳遞(如JavaScript的FieldPath會
一個簡單的字段名稱是滿足以下所有條件的字段名稱:
  • 僅包含字符azAZ0-9和下劃線( _
  • 沒有以0-9
字段路徑的最大大小1,500 字節
字段值的最大大小1 MiB - 89 字節(1,048,487 字節)
地圖或數組中的最大字段深度20

寫入和事務

限制細節
每個數據庫每秒最大寫入數10,000(每秒高達 10 MiB)
最大 API 請求大小10 兆字節
可以傳遞到一個寫入的最大數目Commit操作或在事務執行500
可以在單個文檔中的一個來執行場轉換的最大數目Commit操作或在交易中500
交易時限270 秒,有 60 秒的空閒到期時間

軟限制

Cloud Firestore 不會阻止您超過以下閾值,但會影響性能。

軟限制細節
文檔的最大持續寫入速率

每秒 1 個

保持每秒一次以上的寫入速率會增加延遲並導致爭用錯誤。這不是硬性限制,您可以在短時間內突破限制。

文檔在索引字段中包含順序值的集合的最大寫入速率每秒 500 個

實時更新

軟限制細節
每個數據庫的移動/網絡客戶端的最大並發連接數

1,000,000

Cloud Firestore 不會阻止您超過此軟限制,但這樣做會極大地影響延遲和錯誤率。

索引

以下限制適用於單一字段索引複合索引

限制細節
數據庫的最大復合索引數200
數據庫的最大單字段索引豁免數200

每個文檔的最大索引條目數

40,000

索引條目的數量是文檔的以下項的總和:

  • 單字段索引條目數
  • 複合索引條目數

看雲公司的FireStore如何把一個文件和一組指標為索引條目,請參閱該索引條目數例子

索引條目的最大大小

7.5 KB

看雲公司的FireStore如何計算索引條目大小,請參閱索引條目大小

文檔索引條目大小的最大總和

8 兆字節

總大小是文檔的以下總和:

  • 文檔的單字段索引條目的大小總和
  • 文檔的複合索引條目的大小總和
  • 索引字段值的最大大小

    1500 字節

    超過 1500 字節的字段值將被截斷。涉及截斷字段值的查詢可能會返回不一致的結果。

    出口進口

    以下限制適用於管理的導入和導出操作

    限制細節
    每分鐘允許的項目的最大導出和導入請求總數20
    並發導出和導入的最大數量50
    導出和導入請求的最大集合 ID 過濾器數100

    安全規則

    限制細節
    的最大數量exists() get() ,並getAfter()每個請求調用
    • 10 用於單文檔請求和查詢請求。
    • 20 用於多文檔讀取、事務和批量寫入。之前的 10 個限制也適用於每個操作。

      例如,假設您創建了一個包含 3 個寫入操作的批量寫入請求,並且您的安全規則使用 2 個文檔訪問調用來驗證每個寫入。在這種情況下,每次寫入使用其 10 個訪問調用中的 2 個,批量寫入請求使用其 20 個訪問調用中的 6 個。

    超過任一限制都會導致權限被拒絕錯誤。

    某些文檔訪問調用可能會被緩存,並且緩存的調用不計入限制。

    最大嵌套match聲明深度10
    最大路徑長度,在路徑段,允許一組嵌套的內match語句100
    路徑捕獲變量的最大數量允許的一組嵌套的內部match聲明20
    最大函數調用深度20
    函數參數的最大數量7
    最大數量let每個函數變量綁定10
    遞歸或循環函數調用的最大數量0(不允許)
    每個請求評估的最大表達式數1,000
    規則集的最大大小規則集必須遵守兩個大小限制:
    • 從火力地堡控制台或使用CLI公佈的規則集文本源的大小256 KB極限firebase deploy
    • 當 Firebase 處理源並使其在後端處於活動狀態時,編譯規則集的大小限制為 250 KB。

    管理支出

    為幫助避免賬單上的意外費用,請設置每月預算和警報。

    設定每月預算

    要跟踪您的 Cloud Firestore 費用,請在 Google Cloud Console 中創建每月預算。預算不會限制您的使用量,但您可以設置警報以在您接近或超過當月的計劃成本時通知您。

    要設置預算,到結算的谷歌雲端控制台部分,並為您的雲結算帳戶創建一個預算。您可以使用默認警報設置或修改警報以按每月預算的不同百分比發送通知。

    了解更多關於設立預算和預算警報

    設置每日消費限額

    要限制您的 Cloud Firestore 使用量,請通過 App Engine 設置每日支出限額。 App Engine的允許您設置一個每日消費限額在App Engine上相關的資源,包括雲計算公司的FireStore。 App Engine 限制不適用於任何其他 Firebase 產品。