原生模式:配額與限制

本頁面說明 Native 模式下 Cloud Firestore 的要求配額和 Enterprise 版限制。

免費版用量

Cloud Firestore (原生模式) 提供免費方案,您無須付費即可開始使用這項服務。下表列出免費方案的配額。

系統每天會套用免費方案額度,並在太平洋時間午夜重設。

每個專案只能有一個 Cloud Firestore 資料庫適用免費方案。在沒有免費方案資料庫的專案中建立第一個資料庫時,系統會將該資料庫設為免費方案。如果刪除套用免費方案的資料庫,下一個建立的資料庫將會套用免費方案。

免費方案 配額
儲存的資料量 1 GiB
讀取單位 每天 50,000 次
即時更新單元 每天 50,000 次
寫入單位 每日 4 萬名
傳出資料移轉 每月 10 GiB

標準限制

下表列出 Cloud Firestore (原生模式) 的使用限制。除非另有註明,否則這些都是硬性限制。

資料庫

限制 詳細資料
每個專案的資料庫數量上限

100

如要提高這項上限,請與支援團隊聯絡

每個專案的客戶自行管理的加密金鑰 (CMEK) 資料庫數量上限

0

這項功能僅限許可清單中的人員使用,因此配額預設為 0。如要申請增加配額,請填寫 CMEK 存取權要求表單

集合、文件和欄位

限制 說明
集合 ID 限制
  • 必須使用有效的 UTF-8 字元
  • 長度不得超過 1,500 個位元組
  • 不得包含正斜線 (/)
  • 不得僅包含一個半形句號 (.) 或連續兩個半形句號 (..)
  • 不得與以下規則運算式相符:__.*__
子集合深度上限 100
文件 ID 限制
  • 必須使用有效的 UTF-8 字元
  • 長度不得超過 1,500 個位元組
  • 不得包含正斜線 (/)
  • 不得僅包含一個半形句號 (.) 或連續兩個半形句號 (..)
  • 不得與以下規則運算式相符:__.*__
  • 如果將 Datastore 實體匯入到 Firestore 資料庫中,數字實體 ID 會以 __id[0-9]+__ 的形式顯示
檔案名稱大小上限 6 KiB
檔案大小上限 1 MiB (1,048,576 個位元組)
欄位名稱限制
  • 必須使用有效的 UTF-8 字元
  • 不得與以下規則運算式相符:__.*__
欄位名稱大小上限 1,500 個位元組
欄位路徑限制
  • 必須以一個半形句號 (.) 分隔欄位名稱
  • 可以傳遞以點分隔 (.) 的區隔字串,其中每個區隔都是簡單的欄位名稱或加上引號的欄位名稱 (定義如下)。
如果欄位名稱符合以下所有條件,即為簡單的名稱:
  • 僅含 a-zA-Z0-9 等字元和底線 (_)
  • 開頭不是 0-9
加上引號的欄位名稱開頭和結尾都是反引號字元 (`)。舉例來說,foo.`x&y` 是指巢狀結構位於 foo 欄位下的 x&y 欄位。如要使用反引號字元建構欄位名稱,請使用反斜線字元 (\) 逸出反引號字元。為方便起見,您可以將欄位路徑做為 FieldPath 物件傳遞,避免使用加上引號的欄位名稱 (例如,請參閱 JavaScript FieldPath)。
欄位路徑大小上限 1,500 個位元組
欄位值大小上限 1 MiB 減去 89 個位元組 (1,048,487 個位元組)
對應關係或陣列中欄位的深度上限

20

對應關係和陣列欄位會為物件的整體深度新增一個層級。舉例來說,下列物件的總深度為三層:


{
  nested_map: {         #depth 1
    nested_array: [     #depth 2
      {
        foo: "bar"      #depth 3
      }
    ]
  }
}
      

寫入作業和交易

限制 說明
API 請求大小上限 10 MiB
交易時間限制 270 秒,閒置到期時間為 60 秒
可在一項 Commit 作業或交易中對一個文件執行的欄位轉換工作數量上限 500

索引

限制 詳細資料
資料庫的索引數量上限

每個文件的索引項目數量上限

40,000

索引中的欄位數量上限 100
索引項目大小上限

7.5 KiB

文件的索引項目大小總和上限

8 MiB

存留時間 (TTL)

限制 詳細資料
資料庫的單一欄位設定數量上限
  • 如果尚未為 Google Cloud 專案啟用計費功能,系統會傳回 200。

    如果需要更多配額,請Google Cloud 專案啟用計費功能

  • 啟用 Google Cloud 專案的計費功能時,系統會提供 1,000 點。

一個欄位層級設定可包含相同欄位的多項設定。舉例來說,如果同一欄位有單一欄位索引豁免設定和存留時間政策,則會計入上限,算作一項欄位設定。

匯出/匯入

以下限制適用於代管匯入及匯出作業

限制 說明
專案每分鐘允許的匯出與匯入要求總數上限 20
並行匯出與匯入作業的數量上限 50
匯出與匯入要求的集合 ID 篩選器數量上限 100

安全性規則

限制 說明
每項要求的 exists()get()getAfter() 呼叫數量上限
  • 單一文件要求和查詢要求的上限為 10 項。
  • 多文件讀取作業、交易和批次寫入作業的上限為 20 項。上述限制 (10 項呼叫) 同樣適用於各項作業。

    舉例來說,假設您建立的批次寫入要求含有 3 項寫入作業,而您的安全性規則會使用 2 項文件存取呼叫來驗證各項寫入作業。此時,各項寫入作業會使用 2 項存取呼叫 (上限為 10 項),批次寫入要求則會使用 6 項存取呼叫 (上限為 20 項)。

超過任一項限制都會引發權限遭拒的錯誤。

系統可能會快取部分的文件存取呼叫,已快取的呼叫不會計入限制中。

巢狀 match 陳述式深度上限 10
一組巢狀 match 陳述式中允許的路徑長度上限 (以路徑區段為單位) 100
一組巢狀 match 陳述式中允許的路徑擷取變數數量上限 20
函式呼叫深度上限 20
函式引數數量上限 7
每個函式的 let 變數繫結上限 10
遞迴或循環函式呼叫的數量上限 0 (不允許)
每個要求中經評估的運算式數量上限 1,000 個
規則集的大小上限 規則集必須遵守下列兩項大小限制:
  • 如果使用 Firebase 控制台或 CLI (透過 firebase deploy) 發布規則集文字來源,大小限制為 256 KB。
  • Firebase 處理來源並在後端加以啟用時,所產生之已編譯規則集的大小限制為 250 KB。