Modalità nativa: quote e limiti

Questa pagina descrive le quote di richieste e i limiti dell'edizione Enterprise per Cloud Firestore in modalità nativa.

Utilizzo del livello senza costi

Cloud Firestore in modalità Native offre un livello senza costi che ti consente di iniziare a utilizzare Cloud Firestore in modalità Native senza costi. Gli importi del Livello senza costi sono elencati nella tabella seguente.

Gli importi del livello senza costi vengono applicati giornalmente e reimpostati alla mezzanotte del fuso orario del Pacifico.

Il livello senza costi si applica a un solo database Cloud Firestore per progetto. Il primo database creato in un progetto senza un database di livello senza costi riceverà il livello senza costi. Se il database a cui è stato applicato il livello senza costi viene eliminato, il successivo database creato riceverà il livello senza costi.

Livello senza costi Quota
Dati archiviati 1 GiB
Unità di lettura 50.000 al giorno
Unità di aggiornamento in tempo reale 50.000 al giorno
Unità di scrittura 40.000 al giorno
Trasferimento di dati in uscita 10 GiB al mese

Limiti standard

Le tabelle riportate di seguito mostrano i limiti applicabili a Cloud Firestore in modalità Native. Questi sono limiti rigidi, se non diversamente indicato.

Database

Limite Dettagli
Numero massimo di database per progetto

100

Puoi contattare l'assistenza per richiedere un aumento di questo limite.

Numero massimo di database con chiavi di crittografia gestite dal cliente (CMEK) per progetto

0

Per impostazione predefinita, la quota è 0 perché questa funzionalità è protetta da una lista consentita. Puoi richiedere un aumento della quota compilando il modulo di richiesta di accesso CMEK.

Raccolte, documenti e campi

Limite Dettagli
Vincoli degli ID raccolta
  • Devono contenere esclusivamente caratteri UTF-8 validi
  • Non devono superare i 1500 byte
  • Non possono contenere una barra (/)
  • Non possono essere composti unicamente da un singolo punto (.) o da due punti consecutivi (..)
  • Non possono corrispondere all'espressione regolare __.*__
Profondità massima delle sottoraccolte 100
Vincoli degli ID documento
  • Devono contenere esclusivamente caratteri UTF-8 validi
  • Non devono superare i 1500 byte
  • Non possono contenere una barra (/)
  • Non possono essere composti unicamente da un singolo punto (.) o da due punti consecutivi (..)
  • Non possono corrispondere all'espressione regolare __.*__
  • Se importi entità Datastore in un database Firestore, gli ID entità numerici vengono esposti come __id[0-9]+__
Dimensione massima del nome di un documento 6 KiB
Dimensione massima di un documento 1 MiB (1.048.576 byte)
Vincoli dei nomi dei campi
  • Devono contenere esclusivamente caratteri UTF-8 validi
  • Non possono corrispondere all'espressione regolare __.*__
Dimensione massima del nome di un campo 1500 byte
Vincoli dei percorsi dei campi
  • È necessario separare i nomi dei campi con un singolo punto (.)
  • Può essere trasmesso come stringa di segmenti delimitati da punti (.), dove ogni segmento è un nome di campo semplice o un nome di campo tra virgolette (definito di seguito).
Un nome di campo semplice è un nome in cui tutte le seguenti condizioni sono vere:
  • Contiene solo i caratteri a-z, A-Z o 0-9 e il trattino basso (_)
  • Non inizia con 0-9
Un nome di campo tra virgolette inizia e termina con il carattere backtick (`). Ad esempio, foo.`x&y` fa riferimento al campo x&y nidificato nel campo foo. Per creare un nome di campo con l'accento grave, esegui l'escape del carattere con la barra rovesciata (\). Per comodità, puoi evitare i nomi dei campi tra virgolette passando il percorso del campo come oggetto FieldPath (ad esempio, vedi FieldPath JavaScript).
Dimensione massima di un percorso di campo 1500 byte
Dimensione massima di un valore di campo 1 MiB-89 byte (1.048.487 byte)
Profondità massima dei campi in una mappa o un array

20

I campi mappa e array aggiungono un livello alla profondità complessiva di un oggetto. Ad esempio, il seguente oggetto ha una profondità totale di tre livelli:


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

Operazioni di scrittura e transazioni

Limite Dettagli
Dimensione massima della richiesta API 10 MiB
Limite di tempo per una transazione 270 secondi, con un periodo di scadenza di inattività di 60 secondi
Numero massimo di trasformazioni di campo che possono essere eseguite su un singolo documento in un'operazione Commit o in una transazione 500

Indici

Limite Dettagli
Numero massimo di indici per un database

Numero massimo di voci di indice per ogni documento

40.000

Numero massimo di campi in un indice 100
Dimensione massima di una voce di indice

7,5 KiB

Somma massima delle dimensioni delle voci di indice di un documento

8 MiB

Durata (TTL)

Limite Dettagli
Numero massimo di configurazioni a campo singolo per un database

Una configurazione a livello di campo può contenere più configurazioni per lo stesso campo. Ad esempio, un'esenzione dell'indicizzazione a campo singolo e una policy TTL sullo stesso campo vengono conteggiate come una configurazione di campo ai fini del limite.

Esportazione/importazione

Per le operazioni di importazione ed esportazione gestite si applicano i limiti seguenti:

Limite Dettagli
Numero massimo totale di richieste di esportazione e importazione consentite al minuto per un progetto 20
Numero massimo di esportazioni e importazioni simultanee 50
Numero massimo di filtri ID raccolta per richieste di esportazione e importazione 100

Regole di sicurezza

Limite Dettagli
Numero massimo di chiamate exists(), get() e getAfter() per richiesta
  • 10 per richieste di documenti singoli e di query.
  • 20 per transazioni, operazioni di scrittura in batch e operazioni di lettura di più documenti. A ciascuna operazione si applica anche il limite precedente di 10.

    Ad esempio, immagina di creare una richiesta di scrittura in batch con 3 operazioni di scrittura e che le tue regole di sicurezza utilizzino 2 chiamate di accesso ai documenti per convalidare ogni operazione di scrittura. In questo caso, ogni operazione di scrittura utilizza 2 delle sue 10 chiamate di accesso e la richiesta di scrittura in batch utilizza 6 delle sue 20 chiamate di accesso.

Il superamento di uno dei limiti comporta un errore di autorizzazione negata.

Alcune chiamate di accesso ai documenti possono essere memorizzate nella cache e le chiamate nella cache non vengono considerate ai fini dei limiti.

Profondità massima delle istruzioni match nidificate 10
Lunghezza massima del percorso, in segmenti di percorso, consentita all'interno di un set di istruzioni match nidificate 100
Numero massimo di variabili di acquisizione percorso consentite all'interno di un set di istruzioni match nidificate 20
Profondità massima delle chiamate funzione 20
Numero massimo di argomenti di funzione 7
Numero massimo di associazioni di variabili let per funzione 10
Numero massimo di chiamate di funzione ricorsive o cicliche 0 (non consentite)
Numero massimo di espressioni valutate per richiesta 1000
Dimensione massima di un set di regole I set di regole devono rispettare due limiti di dimensione:
  • Un limite di 256 kB per la dimensione dell'origine di testo del set di regole pubblicata dalla console Firebase o dalla CLI utilizzando firebase deploy.
  • Un limite di 250 kB per la dimensione del set di regole compilato che risulta quando Firebase elabora l'origine e la rende attiva sul back-end.