Attivatori 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 tua funzione verrà chiamata ogni volta che un messaggio viene pubblicato nell'argomento specificato.
Affinché una funzione utilizzi un trigger Pub/Sub, deve essere implementata come funzione basata su eventi:
Se utilizzi una funzione CloudEvent, i dati degli eventi Pub/Sub vengono passati alla tua funzione nel formato CloudEvents e il payload dei dati CloudEvent è di tipo
MessagePublishedData
.Se utilizzi una funzione in background, il payload dei dati degli eventi Pub/Sub viene passato direttamente alla funzione nel formato
PubsubMessage
.
Il repository Google Eventi contiene risorse aggiuntive per lavorare con i dati degli eventi.
Deployment
Quando esegui il deployment di una funzione, puoi specificare un trigger Pub/Sub. Consulta la pagina relativa al deployment di una funzione Cloud per istruzioni generali su come eseguire il deployment di una funzione e leggi di seguito per ulteriori informazioni specifiche sulla configurazione dei trigger Pub/Sub durante il deployment.
gcloud
Se stai eseguendo il deployment utilizzando l'interfaccia a riga di comando gcloud, i flag mostrati di seguito 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 l'attivatore monitorerà. I messaggi pubblicati in questo argomento attiveranno le chiamate alla tua funzione. - Il flag
--retry
controlla se viene eseguito automaticamente un nuovo tentativo delle chiamate a funzioni non riuscite. Per ulteriori informazioni, consulta Riprovare le funzioni basate su eventi.
Eventi Pub/Sub precedenti
Le funzioni legacy in Cloud Functions (1a 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 già utilizzano questi eventi. Tuttavia, ti consigliamo di utilizzare il flag --trigger-topic
, in quanto 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 (2a generazione):
- Fai clic su Aggiungi trigger Eventarc per aggiungere un trigger di eventi. Si apre il riquadro Trigger Eventarc.
- Nel campo Provider di eventi, seleziona Cloud Pub/Sub.
- Nel campo Evento, seleziona
google.cloud.pubsub.topic.v1.messagePublished
. - Nel campo Seleziona un argomento Cloud Pub/Sub, seleziona un argomento da attivare per il trigger. I messaggi pubblicati in questo argomento attiveranno le chiamate alla tua funzione.
- Seleziona o deseleziona la casella di controllo Riprova in caso di errore per stabilire se le chiamate di funzione non riuscite vengono sottoposte automaticamente a un nuovo tentativo. Per ulteriori informazioni, consulta Riprovare le funzioni basate su eventi.
- Fai clic su Salva trigger.
Per Cloud Functions (1a generazione):
- Nel campo Tipo di trigger, seleziona Cloud Pub/Sub.
- Nel campo Seleziona un argomento Cloud Pub/Sub, seleziona un argomento da attivare per il trigger. I messaggi pubblicati in questo argomento attiveranno le chiamate alla tua funzione.
- Seleziona o deseleziona la casella di controllo Riprova in caso di errore per stabilire se le chiamate di funzione non riuscite vengono sottoposte automaticamente a un nuovo tentativo. 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.
- Consulta il tutorial sulla funzione Pub/Sub per un esempio di scrittura, deployment e chiamata di una funzione con un trigger Pub/Sub.