Trigger Eventarc

Un trigger Eventarc consente di attivare una funzione per qualsiasi tipo di evento supportato da Eventarc. Quando specifichi un trigger Eventarc per una funzione, fornisci i filtri evento. La funzione verrà chiamata ogni volta che si verifica un evento corrispondente ai filtri.

Le funzioni basate su eventi in Cloud Run Functions utilizzano gli trigger Eventarc. Per saperne di più, consulta Trigger Eventarc nella documentazione di Eventarc. Per un elenco dei tipi di eventi supportati, consulta Tipi di eventi supportati da Eventarc.

Affinché una funzione utilizzi un trigger Eventarc, deve essere implementata come funzione CloudEvent. I dati dell'evento vengono passati alla funzione nel formato CloudEvents, con un payload di dati CloudEvent corrispondente al tipo di evento. Il repository Google Events contiene risorse aggiuntive per lavorare con i dati sugli eventi.

Posizione dell'attivatore

Gli attivatori Eventarc sono collegati a determinate località. In generale, la posizione di un trigger Eventarc deve corrispondere alla posizione della risorsa Google Cloud che vuoi monitorare per gli eventi. Nella maggior parte dei casi, devi anche eseguire il deployment della funzione Cloud Run nella stessa regione. Per ulteriori dettagli sulle località dei trigger Eventarc, consulta Informazioni sulle località Eventarc.

Id trigger

Gli attivatori Eventarc sono collegati agli account di servizio da utilizzare come identità al momento dell'invocazione della funzione. L'account di servizio dell'attivatore Eventarc deve disporre dell'autorizzazione per richiamare la funzione. Potresti dover verificare che l'account di servizio Compute Engine predefinito abbia le autorizzazioni corrette per richiamare la funzione.

Deployment

Puoi specificare un trigger Eventarc 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. In questa sezione viene descritto come configurare un trigger Eventarc che chiama una funzione quando durante il deployment si verifica un evento corrispondente ai filtri.

gcloud

Se esegui il deployment utilizzando gcloud CLI, i flag mostrati vengono utilizzati per configurare gli trigger Eventarc:

gcloud functions deploy YOUR_FUNCTION_NAME \
  --gen2 \
  --trigger-event-filters="type=EVENTARC_FILTER_TYPE" \
  [--trigger-event-filters=EVENTARC_EVENT_FILTER] \
  [--trigger-event-filters-path-pattern=EVENTARC_EVENT_PATH_PATTERN] \
  [--trigger-location=EVENTARC_TRIGGER_LOCATION] \
  [--trigger-service-account=EVENTARC_TRIGGER_SERVICE_ACCOUNT] \
  [--retry] \
...
  • Il flag --gen2 specifica che stai eseguendo il deployment in Cloud Run Functions. Per utilizzare gli trigger Eventarc, devi utilizzare le funzioni Cloud Run.
  • Il flag --trigger-event-filters specifica i filtri eventi che verranno monitorati dall'attivatore. Un evento che corrisponde a tutti i filtri attiverà le chiamate alla funzione.

    • Obbligatorio: ogni attivatore deve avere un tipo di evento supportato nel modulo --event-filters="type=EVENTARC_FILTER_TYPE". Questo tipo di evento non può essere modificato dopo la creazione. Per modificareEVENT_FILTER_TYPE, crea un nuovo attivatore ed elimina quello precedente.
    • (Facoltativo) Puoi ripetere il flag --trigger-event-filters con un ATTRIBUTE=VALUE per aggiungere altri filtri.
  • Il flag --trigger-event-filters-path-pattern specifica i filtri evento che l'attivatore monitorerà in formato pattern di percorso. Il filtro deve avere il formato ATTRIBUTE=VALUE. Per ulteriori informazioni, consulta la sezione Informazioni sui pattern di percorso.

  • Il flag --trigger-location specifica una posizione per l'attivatore Eventarc. Per ulteriori informazioni, consulta Posizione dell'attivatore. Se non specificata, la regione della funzione viene utilizzata come posizione dell'attivatore.

  • Il flag --trigger-service-account specifica un account di servizio da utilizzare come identità per l'attivatore Eventarc. Per ulteriori informazioni, consulta Identità trigger.

  • 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.

Se stai creando un attivatore per un evento diretto Pub/Sub o Cloud Storage, consulta le istruzioni dell'interfaccia a riga della gcloud CLI per configurare rispettivamente un attivatore Pub/Sub e Cloud Storage.

La documentazione di Eventarc contiene esempi di specifica di filtri per eventi per diversi tipi di eventi. Per ulteriori informazioni, segui le istruzioni quando crei un attivatore per un provider, un tipo di evento e una destinazione specifici.

Console

Se stai eseguendo il deployment utilizzando la console Google Cloud, devi selezionare 2ª gen. come ambiente. Dopodiché puoi configurare un trigger Eventarc nella sezione Trigger.

  1. Per aggiungere un trigger evento, fai clic su Aggiungi trigger. Vengono visualizzate le seguenti opzioni:

    • Trigger di Pub/Sub
    • Trigger di Cloud Storage
    • Trigger di Firestore
    • Altro trigger

    Quando scegli una di queste opzioni, si apre il riquadro Trigger Eventarc, dove puoi specificare i dettagli dell'attivatore.

    Se stai creando un trigger per un evento Pub/Sub o Cloud Storage diretto, consulta le istruzioni della console Google Cloud per configurare rispettivamente un trigger Pub/Sub e Cloud Storage.

  2. Se scegli Altro trigger, utilizza il campo Tipo di trigger nel riquadro Trigger Eventarc per specificare una delle opzioni Origini Google, Personalizzato o Di terze parti.

    • Origini Google ti consente di specificare gli attivatori per Pub/Sub, Cloud Storage, Firestore e altri fornitori di eventi Google. Nel riquadro Trigger Eventarc, utilizza il campo Provider di eventi per selezionare il prodotto che fornisce il tipo di evento con cui attivare la funzione. Poi, nel campo Evento, seleziona l'evento che vuoi utilizzare come trigger.

    • L'opzione Personalizzato ti 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 inviare 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 ti consente di eseguire l'integrazione con provider non Google che offrono un'origine Eventarc. Per maggiori dettagli, consulta Eventi di terze parti in Eventarc.

  3. Nel campo Regione, seleziona una località per l'attivatore Eventarc, se applicabile. Per ulteriori informazioni, consulta Posizione dell'attivatore.

  4. Facoltativamente, nel campo Account di servizio, seleziona un account di servizio da utilizzare come identità dell'attivatore Eventarc. Per ulteriori informazioni, consulta Identità trigger.

  5. Seleziona o deseleziona la casella di controllo Riprova in caso di errore per controllare se le chiamate di funzione non riuscite vengono tentate automaticamente di nuovo. Per ulteriori informazioni, consulta Riprovare le funzioni basate su eventi.

  6. Fai clic su Salva trigger.

Passaggi successivi