請參閱本指南瞭解Cloud Firestore限制,並參閱Cloud Firestore定價,取得Cloud Firestore費用完整詳細的說明,包括注意事項。
監控用量
如要監控 Cloud Firestore 使用情形,請在 Firebase 控制台中開啟「用量」分頁。Cloud Firestore使用資訊主頁評估不同時間範圍內的使用情況。
在 Google Cloud 控制台中查看詳細用量
建立 Firebase 專案時,您也會建立 Google Cloud專案。 Google Cloud 控制台中的「Cloud Firestore API 配額」和「App Engine 配額」頁面會追蹤 Cloud Firestore 使用量和配額資訊。
免費配額
Cloud Firestore 提供免費配額,您無須付費即可開始使用這項服務。下表列出這個服務提供的各項免費配額。如需更多配額,請為 Google Cloud 專案啟用計費功能。
您每天可使用的配額有一定的限制,系統會在太平洋時間凌晨 12 點左右重設配額。
每項專案只能有一個免費的 Firestore 資料庫。
免費方案 | 配額 |
---|---|
儲存的資料量 | 1 GiB |
文件讀取次數 | 每天 50,000 次 |
文件寫入次數 | 每天 20,000 次 |
文件刪除次數 | 每天 20,000 次 |
傳出資料移轉 | 每月 10 GiB |
下列作業和功能不含免費用量。 如要使用下列功能,請務必啟用計費功能:
- 存留時間刪除
- PITR 資料
- 備份資料
- 復原作業
如要進一步瞭解這些功能的計費方式,請參閱儲存空間定價。
標準限制
下表列出 Cloud Firestore 的使用限制。除非另有註明,否則這些都是硬性限制。
資料庫
限制 | 詳細資料 |
---|---|
每個專案的資料庫數量上限 |
100 如要提高這項上限,請與支援團隊聯絡。 |
集合、文件和欄位
限制 | 說明 |
---|---|
集合 ID 限制 |
|
子集合深度上限 | 100 |
文件 ID 限制 |
|
檔案名稱大小上限 | 6 KiB |
檔案大小上限 | 1 MiB (1,048,576 個位元組) |
欄位名稱限制 |
|
欄位名稱大小上限 | 1,500 個位元組 |
欄位路徑限制 |
` )。舉例來說,foo.`x&y` 是指巢狀結構位於 foo 欄位下方的 x&y 欄位。如要使用反引號字元建構欄位名稱,請使用反斜線字元 (\ ) 逸出反引號字元。為方便起見,您可以將欄位路徑做為 FieldPath 物件傳遞,避免使用加上引號的欄位名稱 (例如,請參閱 JavaScript FieldPath)。
|
欄位路徑大小上限 | 1,500 個位元組 |
欄位值大小上限 | 1 MiB 減去 89 個位元組 (1,048,487 個位元組) |
對應關係或陣列中欄位的深度上限 | 20 對應關係和陣列欄位會為物件的整體深度新增一個層級。舉例來說,下列物件的總深度為三層:
|
寫入作業和交易
除了這些限制,您也應參閱大規模設計的最佳做法。
限制 | 說明 |
---|---|
API 請求大小上限 | 10 MiB |
交易時間限制 | 270 秒,閒置到期時間為 60 秒 |
可在一項 Commit 作業或交易中對一個文件執行的欄位轉換工作數量上限 |
500 |
索引
限制 | 說明 |
---|---|
資料庫的複合式索引數量上限 |
|
資料庫的單一欄位設定數量上限 |
一個欄位層級設定可包含相同欄位的多項設定。舉例來說,如果同一欄位同時有單一欄位索引豁免設定和存留時間政策,則會計入上限,視為一項欄位設定。 |
每個文件的索引項目數量上限 |
40,000 個 索引項目數量是文件中下列兩種項目的總和:
如要瞭解 Cloud Firestore 如何將文件和一組索引轉換為索引項目,請參閱這個索引項目計數範例。 |
複合式索引的欄位數量上限 | 100 |
索引項目大小上限 |
7.5 KiB 如要瞭解 Cloud Firestore 計算索引項目大小的方式,請參閱索引項目大小一節。 |
文件的索引項目大小總和上限 |
8 MiB 大小總計是文件中下列兩種項目的總和: |
已建立索引的欄位值大小上限 |
1500 個位元組 超過 1500 個位元組的欄位值會遭到截斷。如果查詢中有欄位值遭截斷,系統可能會傳回不一致的結果。 |
存留時間 (TTL)
限制 | 詳細資料 |
---|---|
資料庫的單一欄位設定數量上限 |
一個欄位層級設定可包含相同欄位的多項設定。舉例來說,如果同一欄位同時有單一欄位索引豁免設定和存留時間政策,則會計入上限,視為一項欄位設定。 |
匯出/匯入
以下限制適用於代管匯入及匯出作業:
限制 | 說明 |
---|---|
專案每分鐘允許的匯出與匯入要求總數上限 | 20 |
並行匯出與匯入作業的數量上限 | 50 |
匯出與匯入要求的集合 ID 篩選器數量上限 | 100 |
安全性規則
限制 | 說明 |
---|---|
每項要求的 exists() 、get() 和 getAfter() 呼叫數量上限 |
超過任一項限制都會引發權限遭拒的錯誤。 系統可能會快取部分的文件存取呼叫,已快取的呼叫不會計入限制中。 |
巢狀 match 陳述式深度上限 |
10 |
一組巢狀 match 陳述式中允許的路徑長度上限 (以路徑區段為單位) |
100 |
一組巢狀 match 陳述式中允許的路徑擷取變數數量上限 |
20 |
函式呼叫深度上限 | 20 |
函式引數數量上限 | 7 |
每個函式的 let 變數繫結上限 |
10 |
遞迴或循環函式呼叫的數量上限 | 0 (不允許) |
每個要求中經評估的運算式數量上限 | 1,000 個 |
規則集的大小上限 | 規則集必須遵守下列兩項大小限制:
|
管理支出
為避免帳單產生非預期的費用,請設定每月預算與快訊。
設定每月預算
如要追蹤 Cloud Firestore 費用,請在 Google Cloud 控制台中建立每月預算。預算不會限制用量,但您可以設定快訊,在接近或超出當月預計費用時收到通知。
如要設定預算,請前往 Google Cloud 控制台的「帳單」部分,為 Cloud Billing 帳戶建立預算。您可以採用預設快訊設定,也可以修改快訊,讓系統在每月預算達到不同百分比時傳送通知。
進一步瞭解如何設定預算和預算快訊。