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 codice JavaScript, TypeScript o Python viene archiviato nell'infrastruttura cloud di Google ed eseguito in un ambiente gestito. Non è necessario gestire e scalare i server.

Inizia Casi d'uso




Funzionalità chiave

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

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

Integra le funzionalità di Firebase utilizzando l' SDK Admin insieme a Cloud Functions e integra i 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 codice JavaScript, TypeScript o Python sui nostri server con un solo comando dalla riga di comando. Dopodiché, Firebase esegue automaticamente lo scale up delle risorse di computing in base ai pattern di utilizzo degli utenti. Non dovrai mai preoccuparti delle credenziali, della configurazione del server, del provisioning di nuovi server o della disattivazione di quelli precedenti.
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 che faccia sempre esattamente ciò che vuoi.

Come funziona?

Dopo aver scritto ed eseguito il deployment di una funzione, i server di Google iniziano immediatamente a gestirla. Puoi attivare la funzione direttamente con una richiesta HTTP, il Admin SDK, o un job programmato oppure, nel caso delle funzioni in background, i server di Google rimangono in ascolto degli 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 cui la funzione deve essere eseguita.
  2. Quando esegui il deployment della funzione:
    1. L'Firebase CLI 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 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 viene eseguito il rollout della nuova funzione.
  3. Quando il provider di eventi genera un evento che corrisponde alle condizioni della funzione, il codice viene richiamato. Alla funzione è collegato un service account 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 altre istanze per gestire il lavoro più rapidamente. Se la funzione è inattiva, le istanze vengono eliminate.
  5. Quando aggiorni la funzione eseguendo il deployment del codice aggiornato, le istanze delle versioni precedenti vengono eliminate insieme agli artefatti di build in Artifact Registry, e sostituite da nuove istanze.
  6. Quando elimini la funzione, vengono eliminate 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 le funzioni in base a una pianificazione fissa o mettere in coda le funzioni di attività tramite l'SDK Admin Admin SDK.

Percorso di implementazione

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

Passaggi successivi