Esistono due versioni di Cloud Functions for Firebase:
- Cloud Functions (2ª gen.), che esegue il deployment delle funzioni come servizi su Cloud Run, consentendoti di attivarle utilizzando Eventarc e Pub/Sub.
- Cloud Functions (1ª gen.), la versione originale delle funzioni con trigger di eventi e configurabilità limitati.
Ti consigliamo di scegliere Cloud Functions (2ª gen.) per le nuove funzioni ove possibile. Tuttavia, prevediamo di continuare a supportare Cloud Functions (1ª gen.).
Questa pagina descrive le funzionalità introdotte in Cloud Functions e fornisce un confronto tra le due versioni del prodotto.
Cloud Functions (2nd gen)
Cloud Functions è l'offerta Functions-as-a-Service di nuova generazione di Firebase. Basato su Cloud Run e Eventarc, Cloud Functions (2ª gen.) offre un'infrastruttura migliorata e una copertura degli eventi più ampia, tra cui:Cloud Functions
- Basato su Cloud Run: le funzioni vengono create con Cloud Build ed eseguite il deployment come servizi Cloud Run utilizzando l' ambiente di esecuzione Cloud Run predefinito. In questo modo, puoi personalizzare la funzione come faresti con un Cloud Run servizio. Consulta la documentazione di Cloud Run per esplorare le opzioni di configurazione del servizio, come limiti dimemoria, variabili di ambiente, e così via.
- Tempi di elaborazione delle richieste più lunghi: esegui carichi di lavoro con richieste più lunghe, come l'elaborazione di grandi flussi di dati da Cloud Storage o BigQuery.
- Dimensioni delle istanze più grandi: esegui carichi di lavoro in memoria, ad alta intensità di calcolo e paralleli più grandi.
- Contemporaneità migliorata: gestisci più richieste simultanee con una singola istanza di funzione per ridurre al minimo gli avvii a freddo e migliorare la latenza.
- Gestione del traffico: suddividi il traffico tra diverse revisioni delle funzioni o esegui il rollback di una funzione a una versione precedente.
- Eventarc integrazione: supporto nativo per i Eventarc trigger, che porta tutte le oltre 90 origini eventi supportate da Eventarc a Cloud Functions.
- Supporto più ampio per CloudEvents: supporto per CloudEvents standard di settore in tutti i runtime dei linguaggi, che offre un'esperienza di sviluppo coerente.
Per i dettagli, consulta la tabella di confronto.
Poiché Cloud Functions esegue il deployment delle funzioni come servizi su Cloud Run, Cloud Functions condivide le quote e i limiti delle risorse con Cloud Run. Consulta la sezione Quote.
Tabella di confronto
| Funzionalità | Cloud Functions (1st gen) | Cloud Functions |
|---|---|---|
| Registro delle immagini | Container Registry o Artifact Registry | Artifact Registry solo |
| Timeout richiesta | Fino a 9 minuti |
|
| Account di servizio* | Account di servizio Google App Engine (PROJECT_ID@ |
Account di servizio Compute predefinito di Google Cloud (PROJECT_NUMBER-compute@developer.gserviceaccount.com) |
| Dimensione istanza | Fino a 8 GB di RAM con 2 vCPU | Fino a 16 GiB di RAM con 4 vCPU |
| Concorrenza | 1 richiesta in parallelo per istanza di funzione | Fino a 1000 richieste simultanee per istanza di funzione |
* Questo è l'account di servizio predefinito utilizzato per accedere alle API Cloud o Firebase da una funzione in esecuzione. Viene utilizzato dall'SDK Firebase Admin quando inizializzi senza argomenti.
Prezzi
Per informazioni sui prezzi, consulta i piani tariffari Firebase.
Puoi visualizzare i costi associati a Cloud Functions nel seguente modo:
- Vai alla pagina Cloud Billing Report nella console Google Cloud.
- Se richiesto, seleziona l'account di fatturazione associato al tuo progetto Google Cloud.
- Nel riquadro Filtri, sotto Etichette,
aggiungi un filtro di etichette con la chiave
goog-managed-bye il valorecloudfunctions.
Limitazioni
Cloud Functions for Firebase (2ª gen.) non supporta gli eventi Analytics .
Sebbene Cloud Functions for Firebase (2ª gen.) supporti gli eventi di blocco dell'autenticazione, non supporta lo stesso insieme di eventi di autenticazione di base Authentication di 1ª gen.
Tuttavia, poiché le funzioni di 1ª gen. e 2ª gen. possono coesistere nello stesso file di origine, puoi comunque sviluppare ed eseguire il deployment dei trigger di Analytics e di autenticazione di base Authentication in 1ª gen. insieme alle funzioni di 2ª gen.