Cloud Functions per Firebase

Cloud Functions per Firebase è un framework serverless che consente di eseguire automaticamente il 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 viene archiviato nell'infrastruttura Google Cloud e viene eseguito in un ambiente gestito. Non è necessario gestire e scalare i propri server.

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

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 Firebase e Google Cloud, dagli attivatori di Firebase Authentication ai trigger di Cloud Storage.

Esegui l'integrazione tra le funzionalità di Firebase utilizzando l'SDK Admin insieme a Cloud Functions e 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 del server, provisioning dei 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 è auspicabile 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 a gestirla immediatamente. Puoi attivare la funzione direttamente con una richiesta HTTP, Admin SDK o un job pianificato oppure, nel caso di 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 modo isolato, nel proprio ambiente con la propria configurazione.

Ciclo di vita di una funzione in background

  1. Scrivi il codice di una nuova funzione, selezionando un fornitore di eventi (ad esempio Cloud Firestore) e definendo le condizioni in cui deve essere eseguita la funzione.
  2. Quando esegui il deployment della funzione:
    1. L'interfaccia a riga di comando Firebase crea un archivio .zip del codice della funzione, che viene poi caricato in un bucket Cloud Storage (con prefisso gcf-sources) prima che Cloud Functions crei un repository Artifact Registry (chiamato gcf-artifacts) nel progetto.
    2. Cloud Build recupera il codice della funzione e compila il codice sorgente della funzione. Puoi visualizzare i log di Cloud Build nella console Google Cloud.
    3. L'immagine del contenitore per il codice delle funzioni create viene caricata in un repository Artifact Registry privato nel progetto (chiamato gcf-artifacts) e la nuova funzione viene implementata.
  3. Quando il provider di eventi genera un evento che corrisponde alle condizioni della funzione, il codice viene invocato.
  4. Se la funzione è impegnata a gestire molti eventi, Google crea più istanze per gestire il lavoro più velocemente. Se la funzione è inattiva, le istanze vengono ripulite.
  5. Quando aggiorni la funzione eseguendo il deployment del codice aggiornato, le istanze per le versioni precedenti vengono ripulite insieme agli elementi di compilazione in Artifact Registry e sostituite da nuove istanze.
  6. Quando elimini la funzione, vengono ripuliti tutti gli archivi ZIP e le istanze, nonché gli artefatti di compilazione correlati in Artifact Registry. La connessione tra la funzione e il provider di eventi viene rimossa.

Oltre a monitorare 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 su una pianificazione fissa o mettere in coda le 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 dei servizi Firebase, dei servizi Google Cloud o di altri fornitori di eventi.
Funzioni di test Utilizza l'emulatore locale per testare le funzioni.
Esegui il deployment e il monitoraggio Esegui l'upgrade del tuo progetto al piano tariffario Blaze con pagamento a consumo ed esegui il deployment delle funzioni utilizzando l'interfaccia a riga di comando Firebase. Puoi quindi utilizzare la console Google Cloud per visualizzare e cercare i log.

Passaggi successivi