Dopo aver creato ed eseguito il deployment della funzione Cloud Run, puoi impostare l'esecuzione della funzione in risposta a vari scenari specificando un trigger. Questa pagina fornisce una panoramica dei trigger supportati da Cloud Run Functions.
Tipi di trigger
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 l'API Cloud Functions v2, per impostazione predefinita la funzione
ha un endpoint HTTP cloudfunctions.net.
Il modo in cui la funzione viene richiamata o attivata dipende dal tipo di funzione che specifichi quando scrivi il codice.
- Trigger basati su eventi: reagiscono agli eventi all'interno del tuo progetto Google Cloud e corrispondono alle funzioni basate su eventi (chiamate anche funzioni CloudEvent). Per attivare le funzioni in risposta a eventi specifici, devi utilizzare Eventarc, l'implementazione di Google della specifica CloudEvents che supporta la creazione di architetture basate su eventi.
- Trigger HTTP: reagisce alle richieste HTTP(S) e corrisponde alle funzioni HTTP. Puoi utilizzare altri serviziGoogle Cloud (non Eventarc) come provider di eventi per richiamare la funzione tramite richieste HTTP(S).
Per attivare una funzione in modo che reagisca agli eventi all'interno del tuo progetto Google Cloud , devi specificare i trigger durante il deployment della funzione nella console Google Cloud o dopo il deployment della funzione quando utilizzi gcloud CLI.
Non puoi associare la stessa funzione a più di un attivatore alla volta, ma puoi fare in modo che lo stesso evento provochi 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 da Cloud Run Functions:
Trigger basati su eventi:
- Eventi Pub/Sub attivati da Eventarc
- Eventi Cloud Storage attivati da Eventarc
- Eventi Firestore attivati da Eventarc
- Altri trigger evento
- Supporta qualsiasi tipo di evento supportato da Eventarc, incluse più di 90 origini eventi che utilizzano Cloud Audit Logs
Trigger HTTP:
- Richiamare un servizio con una richiesta HTTP
- Richiamare servizi nell'ambito di un flusso di lavoro con Workflows
- Richiamare i servizi in base a una pianificazione con Cloud Scheduler
- Utilizza 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 inclusi in Eventarc come trigger basato sugli eventi.
Tutte le funzioni basate su eventi utilizzano Eventarc per la distribuzione degli eventi. I trigger Pub/Sub e Cloud Storage vengono implementati come tipi particolari di trigger Eventarc.
Trigger aggiuntivi tramite Pub/Sub e webhook
Poiché le funzioni Cloud Run possono essere attivate dai messaggi in un argomento Pub/Sub, puoi integrarle con qualsiasi altro servizio Google che supporti Pub/Sub come bus di eventi. Inoltre, utilizzando i trigger HTTP puoi anche eseguire l'integrazione con qualsiasi servizio che fornisce 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 saperne di più, consulta Configura e gestisci 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 agli eventi all'interno del tuo progetto Google Cloud , ad esempio quando un messaggio viene pubblicato in un argomento Pub/Sub.
Cloud Tasks
Le attività target HTTP di Cloud Tasks consentono di eseguire i gestori di attività in qualsiasi endpoint HTTP, quindi una funzione HTTP con un trigger HTTP può essere utilizzata come gestore di attività. Puoi anche utilizzare le attività per limitare o controllare la frequenza di chiamata delle funzioni. Per saperne di più, consulta Crea attività target HTTP nella documentazione di Cloud Tasks.
Gmail
Utilizzando l'API Push Notification di Gmail, puoi inviare eventi Gmail a un argomento Pub/Sub e utilizzarli con Cloud Run.