Trigger Pub/Sub (1ª generazione.)
Nelle funzioni Cloud Run, un attivatore 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 viene pubblicato un messaggio 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 CloudEvent è di tipo
MessagePublishedData
.Se utilizzi una funzione in background, il payload dei dati sugli eventi Pub/Sub viene passato direttamente alla funzione nel formato
PubsubMessage
.
Il repository Google Events 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 Run per istruzioni generali su come eseguire il deployment di una funzione e consulta questa sezione per ulteriori informazioni specifiche sulla configurazione degli attivatori Pub/Sub durante il deployment.
gcloud
Se esegui il deployment utilizzando l'interfaccia a riga di comando gcloud, i flag mostrati qui vengono utilizzati per configurare gli attivatori Pub/Sub:
gcloud functions deploy YOUR_FUNCTION_NAME \ --no-gen2 \ --trigger-topic=YOUR_PUBSUB_TOPIC \ [--retry] \ ...
- Il flag
--trigger-topic
specifica l'argomento Pub/Sub che verrà monitorato dall'attivatore. I messaggi pubblicati in questo argomento attivano le chiamate alla funzione. - Il
--retry
flag 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 precedenti
Le funzioni precedenti nelle funzioni Cloud Run (1ª generazione.) utilizzano un tipo di evento diverso per gli attivatori Pub/Sub:
gcloud functions deploy YOUR_FUNCTION_NAME \ --no-gen2 \ --trigger-event=providers/cloud.pubsub/eventTypes/topic.publish \ --trigger-resource=YOUR_PUBSUB_TOPIC \ ...
Questo tipo di evento è supportato per le funzioni precedenti che già utilizzano questi eventi. Tuttavia, ti consigliamo di utilizzare il flag --trigger-topic
, in quanto il tipo di evento precedente potrebbe essere rimosso in un secondo momento.
Console
Se esegui il deployment utilizzando la console Google Cloud, puoi configurare un trigger Pub/Sub nella sezione Trigger:
- Nel campo Tipo di trigger, seleziona Cloud Pub/Sub.
- Nel campo Seleziona un argomento Cloud Pub/Sub, seleziona un argomento da monitorare per l'attivatore o Crea un argomento per aprire una finestra per 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 controllare se le chiamate di funzione non riuscite vengono tentate di nuovo automaticamente. Per ulteriori informazioni, consulta la sezione Riprovare le funzioni basate su eventi.
Passaggi successivi
- Scopri come scrivere funzioni basate su eventi.
- Scopri come eseguire il deployment di una funzione Cloud Run.
- Consulta il tutorial su Pub/Sub per un esempio di scrittura, deployment e chiamata di una funzione con un attivatore Pub/Sub.