Dopo aver creato ed eseguito il deployment della funzione Cloud Run, puoi impostarla in modo che venga eseguita in risposta a vari scenari specificando un attivatore. Questa pagina fornisce una panoramica degli attivatori supportati da Cloud Run Functions.
Tipi di attivatori
Per impostazione predefinita, tutte le funzioni di cui è stato eseguito il deployment su Cloud Run sono
servizi di cui è stato eseguito il deployment dall'origine Cloud Run
che hanno un endpoint HTTP (URL run.app
). Se in precedenza hai creato una funzione con il comando gcloud functions
o con l'API Cloud Functions v2, per impostazione predefinita la funzione ha un endpoint HTTP cloudfunctions.net
.
La modalità di chiamata o attivazione della funzione dipende dal tipo di funzione specificato durante la scrittura del codice.
- Trigger basati su eventi: reagiscono agli eventi all'interno del tuo Google Cloud progetto e corrispondono alle funzioni basate su eventi (chiamate anche funzioni CloudEvent). Per attivare le funzioni in risposta a eventi specificati, devi utilizzare Eventarc, l'implementazione di Google dello spec CloudEvents che supporta la creazione di architetture basate su eventi.
- Trigger HTTP: reagiscono alle richieste HTTP(S) e corrispondono alle funzioni HTTP. Puoi utilizzare altri Google Cloud servizi (diversi da Eventarc) come provider di eventi per invocare la funzione tramite richieste HTTP(S).
Per attivare una funzione in modo che reagisca agli eventi all'interno del tuo Google Cloud progetto, specifica gli attivatori durante il deployment della funzione nella Google Cloud console o dopo il deployment della funzione quando utilizzi gcloud CLI.
Non puoi associare la stessa funzione a più attivatori contemporaneamente, ma puoi fare in modo che lo stesso evento causi l'esecuzione di più funzioni implementando più funzioni con le stesse impostazioni di attivazione.
Esempi di trigger
Di seguito sono riportati alcuni esempi di trigger supportati dalle funzioni Cloud Run:
Trigger basati su eventi:
- Eventi Pub/Sub attivati da Eventarc
- Eventi Cloud Storage attivati da Eventarc
- Eventi Firestore attivati da Eventarc
- Altri attivatori di eventi
- Supporta qualsiasi tipo di evento supportato da Eventarc, incluse più di 90 origini evento che utilizzano Cloud Audit Logs
Trigger HTTP:
- Eseguire l'invocazione con una richiesta HTTP
- Richiamare i servizi nell'ambito di un flusso di lavoro con Workflows
- Richiamare i servizi in base a una pianificazione con Cloud Scheduler
- Utilizzare Cloud Tasks per eseguire attività asincrone
- Attivare i servizi da una sottoscrizione push Pub/Sub
- I messaggi Pub/Sub possono essere indirizzati direttamente a una funzione tramite richieste HTTP o inseriti in Eventarc come trigger basato sugli eventi.
Tutte le funzioni basate su eventi utilizzano Eventarc per l'invio di eventi. Gli trigger Pub/Sub e Cloud Storage sono implementati come tipi specifici di trigger Eventarc.
Trigger aggiuntivi che utilizzano Pub/Sub e webhook
Poiché le funzioni Cloud Run possono essere attivate dai messaggi relativi a un argomento Pub/Sub, puoi integrarle con qualsiasi altro servizio Google che supporta Pub/Sub come bus di eventi. Inoltre, grazie all'utilizzo degli attivatori HTTP puoi anche eseguire l'integrazione con qualsiasi servizio che fornisca callback HTTP (webhook). Le sezioni seguenti descrivono alcuni esempi di integrazioni.
Cloud Logging
Cloud Logging può instradare i log a un argomento Pub/Sub, dove possono essere utilizzati dalle funzioni Cloud Run. Per ulteriori informazioni, consulta Configurare e gestire i sink nella documentazione di Cloud Logging.
Cloud Scheduler
Puoi pianificare una funzione HTTP creando un job Cloud Scheduler che attiva un'azione utilizzando HTTP.
Puoi anche pianificare una funzione basata su eventi quando deve essere attivata direttamente in risposta a eventi all'interno del tuo Google Cloud progetto, ad esempio quando un messaggio viene pubblicato in un argomento Pub/Sub.
Cloud Tasks
Le attività di destinazione HTTP di Cloud Tasks ti consentono di eseguire gestori delle attività su qualsiasi endpoint HTTP, in modo che una funzione HTTP con un trigger HTTP possa essere utilizzata come gestore delle attività. Puoi anche utilizzare le attività per limitare la velocità o la frequenza di richiamo delle funzioni. Per ulteriori informazioni, consulta Creare attività target HTTP nella documentazione di Cloud Tasks.
Gmail
Con l'API Push Notification di Gmail, puoi inviare eventi Gmail a un argomento Pub/Sub e utilizzarli con Cloud Run.