Cloud Functions per Firebase

Cloud Functions per Firebase è un framework serverless che ti consente di eseguire automaticamente codice di backend in risposta a eventi attivati da eventi in background, richieste HTTPS, Admin SDK o job Cloud Scheduler. Il tuo codice JavaScript, TypeScript o Python è archiviato nell'infrastruttura Google Cloud e viene eseguito in un ambiente gestito. Non è necessario gestire e scalare i tuoi server.

Utilizzi già Cloud Functions in Google Cloud? Scopri di più su come Firebase si inserisce nel quadro generale.

Inizia Casi d'uso

Funzionalità chiave

Integra le funzionalità di Firebase e lo collega a Google Cloud

Le funzioni che scrivi possono rispondere a eventi generati da varie funzionalità di Firebase e Google Cloud, dai trigger di Firebase Authentication ai trigger di Cloud Storage.

Esegui l'integrazione tra le funzionalità di Firebase utilizzando l'SDK Admin insieme a Cloud Functions ed esegui l'integrazione con servizi di terze parti scrivendo i tuoi webhook. Cloud Functions riduce al minimo il codice boilerplate, semplificando l'utilizzo di Firebase e Google Cloud all'interno della funzione.
Nessuna manutenzione Esegui il deployment del tuo codice JavaScript, TypeScript o Python sui nostri server con un solo comando dalla riga di comando. A quel punto, Firebase eseguirà automaticamente la scalabilità delle risorse di elaborazione in modo da trovare una corrispondenza ai pattern di utilizzo dei tuoi utenti. Non dovrai mai preoccuparti di credenziali, configurazione server, provisioning di nuovi server o ritiro di quelli obsoleti.
Mantieni la tua logica privata e al sicuro In molti casi, gli sviluppatori preferiscono controllare la logica dell'applicazione sul server per evitare manomissioni sul lato client. Inoltre, a volte non è consigliabile consentire il reverse engineering del codice. Cloud Functions è completamente isolato dal client, quindi puoi essere certo che sia privato e faccia sempre esattamente ciò che vuoi.

Come funziona?

Dopo aver scritto ed eseguito il deployment di una funzione, i server di Google iniziano a gestirla immediatamente. Puoi attivare la funzione direttamente con una richiesta HTTP, con Admin SDK o con un job pianificato oppure, nel caso delle funzioni in background, i server di Google ascoltano gli eventi ed eseguono la funzione quando viene attivata.

Man mano che il carico aumenta o diminuisce, Google risponde scalando rapidamente il numero di istanze di server virtuali necessarie per eseguire la funzione. Ogni funzione viene eseguita in isolamento, nel proprio ambiente con la propria configurazione.

Ciclo di vita di una funzione in background

  1. Scrivi il codice per una nuova funzione, selezionando un provider di eventi (ad esempio Cloud Firestore) e definendo le condizioni in base alle quali la funzione deve essere eseguita.
  2. Quando esegui il deployment della funzione:
    1. La CLI Firebase crea un archivio .zip del codice della funzione, che viene poi caricato in un bucket Cloud Storage (con il prefisso gcf-sources) prima che Cloud Functions crei un repository Artifact Registry (denominato gcf-artifacts) nel tuo progetto.
    2. Cloud Build recupera il codice della funzione e crea l'origine della funzione. Puoi visualizzare i log di Cloud Build nella console Google Cloud.
    3. L'immagine container per il codice delle funzioni create viene caricata in un repository Artifact Registry privato nel tuo progetto (denominato gcf-artifacts) e la tua nuova funzione viene implementata.
  3. Quando il provider di eventi genera un evento che corrisponde alle condizioni della funzione, il codice viene richiamato. La funzione ha un service account collegato che può essere utilizzato per accedere ad altri servizi Firebase con l'aiuto di Firebase Admin SDK.
  4. Se la funzione è occupata a gestire molti eventi, Google crea più istanze per gestire il lavoro più rapidamente. Se la funzione è inattiva, le istanze vengono pulite.
  5. Quando aggiorni la funzione eseguendo il deployment del codice aggiornato, le istanze delle versioni precedenti vengono pulite insieme agli artefatti di build in Artifact Registry e sostituite da nuove istanze.
  6. Quando elimini la funzione, vengono ripulite tutte le istanze e gli archivi zip, insieme agli artefatti di build correlati in Artifact Registry. La connessione tra la funzione e il provider di eventi viene rimossa.

Oltre ad ascoltare gli eventi con una funzione in background, puoi chiamare le funzioni direttamente con una richiesta HTTP o una chiamata dal client. Puoi anche attivare funzioni in base a una pianificazione fissa o accodare funzioni di attività tramite Admin SDK.

Percorso di implementazione

Configura Cloud Functions Installa l'interfaccia a riga di comando Firebase e inizializza Cloud Functions nel tuo progetto Firebase.
Scrivere funzioni Scrivi codice JavaScript, TypeScript o Python per gestire gli eventi provenienti da servizi Firebase, servizi Google Cloud o altri fornitori di eventi.
Funzioni di test Utilizza l'emulatore locale per testare le tue funzioni.
Esegui il deployment e monitora Esegui l'upgrade del tuo progetto al piano tariffario Blaze con pagamento a consumo ed esegui il deployment delle tue funzioni utilizzando la CLI Firebase. Puoi quindi utilizzare la console Google Cloud per visualizzare e cercare nei log.

Passaggi successivi