Trigger Pub/Sub
In Cloud Functions, un trigger Pub/Sub consente di chiamare una funzione in risposta ai messaggi Pub/Sub. Quando specifichi un trigger Pub/Sub per una funzione, specifichi anche un argomento Pub/Sub. La funzione verrà chiamata ogni volta che un messaggio viene pubblicato nell'argomento specificato.
Affinché una funzione possa utilizzare un trigger Pub/Sub, deve essere implementata come funzione basata su eventi:
Se utilizzi una funzione CloudEvent, i dati dell'evento Pub/Sub vengono passati alla funzione nel formato CloudEvents e il payload dei dati di CloudEvent è di tipo
MessagePublishedData
.Se utilizzi una funzione in background, il payload dei dati dell'evento Pub/Sub viene passato direttamente alla tua funzione nel formato
PubsubMessage
.
Il repository Eventi Google contiene risorse aggiuntive per lavorare con i dati sugli eventi.
Deployment
Puoi specificare un trigger Pub/Sub quando esegui il deployment di una funzione. Consulta Eseguire il deployment di una funzione Cloud Functions per istruzioni generali su come eseguire il deployment di una funzione e consulta questa sezione per ulteriori informazioni specifiche sulla configurazione dei trigger Pub/Sub durante il deployment.
gcloud
Se esegui il deployment con gcloud CLI, i flag mostrati qui vengono utilizzati per configurare i trigger Pub/Sub:
gcloud functions deploy YOUR_FUNCTION_NAME \ --trigger-topic=YOUR_PUBSUB_TOPIC \ [--retry] \ ...
- Il flag
--trigger-topic
specifica l'argomento Pub/Sub che verrà monitorato dal trigger. I messaggi pubblicati in questo argomento attivano le chiamate alla funzione. - Il flag
--retry
controlla se le chiamate di funzione non riuscite vengono tentate automaticamente di nuovo. Per ulteriori informazioni, consulta Riprovare le funzioni basate su eventi.
Eventi Pub/Sub legacy
Le funzioni legacy in Cloud Functions (1ª generazione) utilizzano un tipo di evento diverso per i trigger Pub/Sub:
gcloud functions deploy YOUR_FUNCTION_NAME \ --trigger-event=providers/cloud.pubsub/eventTypes/topic.publish \ --trigger-resource=YOUR_PUBSUB_TOPIC \ ...
Questo tipo di evento è supportato per le funzioni legacy che utilizzano già questi eventi. Tuttavia, ti consigliamo di utilizzare il flag --trigger-topic
, poiché il tipo di evento precedente potrebbe essere rimosso in futuro.
Console
Se stai eseguendo il deployment utilizzando la console Google Cloud, puoi configurare un trigger Pub/Sub nella sezione Trigger.
Per Cloud Functions (2nd gen):
- Nel campo Tipo di trigger, scegli Cloud Pub/Sub.
- Nel campo Argomento Cloud Pub/Sub, seleziona un argomento per il trigger da monitorare. I messaggi pubblicati in questo argomento attivano le chiamate alla funzione.
- Seleziona o deseleziona la casella di controllo Riprova in caso di errore per controllare se Cloud Functions ritenta automaticamente una chiamata di funzione non riuscita. Per ulteriori informazioni, consulta Riprovare le funzioni basate su eventi.
Fai clic su Altre opzioni per eseguire una configurazione aggiuntiva sull'attivatore:
Nel campo Tipo di attivatore, specifica una delle seguenti opzioni: Origini Google, Personalizzato o Terze parti:
Con le origini Google puoi specificare trigger per Pub/Sub, Cloud Storage, Firestore e altri provider di eventi Google.Nel riquadro Trigger Eventarc, utilizza il campo Provider di eventi per selezionare il prodotto che fornisce il tipo di evento che vuoi attivare per la funzione. Nel campo Evento, seleziona l'evento che vuoi utilizzare come attivatore.
L'opzione Personalizzato consente di produrre e utilizzare eventi dal codice dell'applicazione. Segui le istruzioni nel riquadro Trigger Eventarc per creare un canale. Un canale è una risorsa utilizzata come pipeline per fornire eventi personalizzati dai produttori ai consumatori. Gli eventi personalizzati vengono pubblicati in un canale e un trigger Eventarc si iscrive a questi eventi.
L'opzione Di terze parti consente l'integrazione con provider non Google che offrono un'origine Eventarc. Per i dettagli, consulta Eventi di terze parti in Eventarc.
Nel campo Evento, seleziona un evento di attivazione. Il valore predefinito è
google.cloud.pubsub.topic.v1.messagePublished
.Facoltativamente, nel campo Account di servizio, seleziona un account di servizio da utilizzare come identità del trigger Eventarc. Per ulteriori informazioni, consulta Identità attivatore.
Fai clic su Salva attivatore.
Per Cloud Functions (1ª generazione.):
- Nel campo Tipo di trigger, seleziona Cloud Pub/Sub.
- Nel campo Seleziona un argomento Cloud Pub/Sub, seleziona un argomento per il trigger da monitorare oppure seleziona Crea un argomento per aprire una finestra in cui creare un nuovo argomento. Quando un messaggio viene pubblicato nell'argomento della funzione, viene attivata una chiamata alla funzione.
- Seleziona o deseleziona la casella di controllo Riprova in caso di errore per stabilire se ripetere automaticamente le chiamate di funzione non riuscite. Per ulteriori informazioni, consulta Riprovare le funzioni basate su eventi.
Passaggi successivi
- Scopri come scrivere funzioni basate su eventi.
- Scopri come eseguire il deployment di una funzione Cloud Functions.
- Consulta il tutorial sulle funzioni Pub/Sub per un esempio di scrittura, deployment e chiamata di una funzione con un trigger Pub/Sub.