Tryb natywny: limity

Na tej stronie znajdziesz limity żądań i limity wersji Enterprise dla Cloud Firestore w trybie natywnym.

Wykorzystanie na poziomie bezpłatnym

Cloud Firestore w trybie natywnym oferuje bezpłatny poziom, który umożliwia rozpoczęcie korzystania z tej usługi bezpłatnie. Wartości bezpłatnego limitu są podane w tej tabeli.

Ilości z poziomu bezpłatnego są stosowane codziennie i resetowane o północy czasu pacyficznego.

Bezpłatny poziom dotyczy tylko 1 bazy danych Cloud Firestore na projekt. Pierwsza baza danych utworzona w projekcie bez bazy danych na poziomie bezpłatnym otrzyma poziom bezpłatny. Jeśli baza danych z zastosowaną bezpłatną wersją zostanie usunięta, kolejna utworzona baza danych otrzyma bezpłatną wersję.

Poziom bezpłatny Limit
Przechowywane dane 1 GiB
Odczyt jednostek 50 000 dziennie
Jednostki aktualizacji w czasie rzeczywistym 50 000 dziennie
Zapis jednostek 40 000 dziennie
Przesyłanie danych na zewnątrz 10 GiB miesięcznie

Standardowe limity

W tabelach poniżej znajdziesz limity obowiązujące w przypadku Cloud Firestore w trybie natywnym. O ile nie wskazano inaczej, są to sztywne limity.

Bazy danych

Limit Szczegóły
Maksymalna liczba baz danych w projekcie

100

Możesz skontaktować się z zespołem pomocy, aby poprosić o zwiększenie tego limitu.

Maksymalna liczba baz danych z kluczami szyfrowania zarządzanymi przez klienta (CMEK) w projekcie

0

Domyślnie limit wynosi 0, ponieważ ta funkcja jest dostępna tylko dla użytkowników z listy dozwolonych. Możesz poprosić o zwiększenie limitu, wypełniając formularz prośby o dostęp do kluczy CMEK.

Kolekcje, dokumenty i pola

Limit Szczegóły
Ograniczenia dotyczące identyfikatorów kolekcji
  • Musi zawierać prawidłowe znaki UTF-8.
  • Nie może przekraczać 1500 bajtów
  • Nie może zawierać ukośnika (/)
  • Nie może składać się wyłącznie z jednej kropki (.) ani dwóch kropek (..).
  • Nie można dopasować wyrażenia regularnego __.*__
Maksymalna głębokość podzbiorów 100
Ograniczenia dotyczące identyfikatorów dokumentów
  • Musi zawierać prawidłowe znaki UTF-8.
  • Nie może przekraczać 1500 bajtów
  • Nie może zawierać ukośnika (/)
  • Nie może składać się wyłącznie z jednej kropki (.) ani z dwóch kropek (..).
  • Nie można dopasować wyrażenia regularnego __.*__
  • Jeśli zaimportujesz encje Datastore do bazy danych Firestore, numeryczne identyfikatory encji będą widoczne jako __id[0-9]+__
Maksymalny rozmiar nazwy dokumentu 6 KiB
Maksymalny rozmiar dokumentu 1 MiB (1 048 576 bajtów)
Ograniczenia dotyczące nazw pól
  • Musi zawierać prawidłowe znaki UTF-8.
  • Nie można dopasować wyrażenia regularnego __.*__
Maksymalny rozmiar nazwy pola 1500 bajtów
Ograniczenia dotyczące ścieżek pól
  • Nazwy pól muszą być oddzielone pojedynczą kropką (.).
  • Może być przekazywany jako ciąg segmentów rozdzielonych kropkami (.), gdzie każdy segment jest prostą nazwą pola lub nazwą pola w cudzysłowie (zdefiniowaną poniżej).
Prosta nazwa pola to nazwa, w przypadku której spełnione są wszystkie te warunki:
  • Zawiera tylko znaki a-z, A-Z, 0-9 i podkreślenie (_).
  • Nie rozpoczyna się od 0-9
Nazwa pola w cudzysłowie zaczyna się i kończy znakiem backtick (`). Na przykład foo.`x&y` odnosi się do pola x&y zagnieżdżonego w polu foo. Aby utworzyć nazwę pola ze znakiem grawisu, poprzedź go znakiem ukośnika odwrotnego (\). Aby uniknąć nazw pól w cudzysłowie, możesz przekazać ścieżkę pola jako obiekt FieldPath (np. zobacz JavaScript FieldPath).
Maksymalny rozmiar ścieżki pola 1500 bajtów
Maksymalny rozmiar wartości pola 1 MiB – 89 bajtów (1 048 487 bajtów)
Maksymalna głębokość pól w mapie lub tablicy

20

Pola mapy i tablicy zwiększają ogólną głębokość obiektu o 1 poziom. Na przykład poniższy obiekt ma łączną głębokość 3 poziomów:


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

Zapisy i transakcje

Limit Szczegóły
Maksymalny rozmiar żądania do interfejsu API 10 MiB
Limit czasu transakcji 270 sekund z 60-sekundowym czasem wygaśnięcia bezczynności.
Maksymalna liczba przekształceń pól, które można wykonać w przypadku pojedynczego dokumentu w ramach operacji Commit lub transakcji. 500

Indeksy

Limit Szczegóły
Maksymalna liczba indeksów w bazie danych

Maksymalna liczba wpisów w indeksie dla każdego dokumentu

40 000

Maksymalna liczba pól w indeksie 100
Maksymalny rozmiar wpisu indeksu

7,5 KiB

Maksymalna suma rozmiarów wpisów indeksu dokumentu

8 MiB

Czas życia danych (TTL)

Limit Szczegóły
Maksymalna liczba konfiguracji pojedynczego pola dla bazy danych

Jedna konfiguracja na poziomie pola może zawierać wiele konfiguracji tego samego pola. Na przykład wykluczenie indeksowania pojedynczego pola i zasady TTL w tym samym polu są liczone jako 1 konfiguracja pola w ramach limitu.

Eksport/import

Zarządzane operacje importu i eksportu są objęte tymi ograniczeniami:

Limit Szczegóły
Maksymalna łączna liczba żądań eksportu i importu w projekcie dozwolona na minutę 20
Maksymalna liczba jednoczesnych eksportów i importów 50
Maksymalna liczba filtrów identyfikatorów kolekcji w przypadku żądań eksportu i importu 100

Reguły zabezpieczeń

Limit Szczegóły
Maksymalna liczba wywołań exists(), get() i getAfter() na żądanie
  • 10 w przypadku żądań dotyczących pojedynczego dokumentu i zapytań.
  • 20 w przypadku odczytów z wielu dokumentów, transakcji i zapisów zbiorczych. Poprzedni limit 10 operacji obowiązuje również w przypadku każdej operacji.

    Załóżmy na przykład, że tworzysz żądanie zapisu zbiorczego z 3 operacjami zapisu, a Twoje reguły zabezpieczeń używają 2 wywołań dostępu do dokumentu, aby zweryfikować każdy zapis. W tym przypadku każde zapisanie wykorzystuje 2 z 10 wywołań dostępu, a żądanie zapisu wsadowego wykorzystuje 6 z 20 wywołań dostępu.

Przekroczenie któregokolwiek z tych limitów spowoduje błąd braku uprawnień.

Niektóre wywołania dostępu do dokumentów mogą być buforowane, a buforowane wywołania nie są wliczane do limitów.

Maksymalna głębokość zagnieżdżenia instrukcji match 10
Maksymalna długość ścieżki w segmentach ścieżki dozwolona w zbiorze zagnieżdżonych instrukcji match 100
Maksymalna liczba zmiennych przechwytywania ścieżki dozwolonych w zbiorze zagnieżdżonych instrukcji match 20
Maksymalna głębokość wywołania funkcji 20
Maksymalna liczba argumentów funkcji 7
Maksymalna liczba powiązań zmiennych let na funkcję 10
Maksymalna liczba rekurencyjnych lub cyklicznych wywołań funkcji 0 (niedozwolone)
Maksymalna liczba wyrażeń ocenianych w ramach jednego żądania 1000
Maksymalny rozmiar zestawu reguł Zbiory reguł muszą spełniać 2 limity rozmiaru:
  • limit 256 KB na rozmiar źródła tekstowego zestawu reguł opublikowanego w Firebasekonsoli lub w interfejsie wiersza poleceń za pomocą polecenia firebase deploy;
  • limit 250 KB na rozmiar skompilowanego zestawu reguł, który powstaje, gdy Firebase przetwarza źródło i aktywuje je na backendzie.