Trigger Eventarc

In Cloud Functions (2nd gen), un trigger Eventarc consente l'attivazione di una funzione da qualsiasi tipo di evento supportato da Eventarc. Quando specifichi un trigger Eventarc per una funzione, fornisci i filtri di eventi. La funzione verrà chiamata ogni volta che si verifica un evento che corrisponde ai filtri.

Tutte le funzioni basate su eventi in Cloud Functions (2nd gen) utilizzano i trigger Eventarc. Per ulteriori informazioni, consulta la sezione Trigger Eventarc nella documentazione di Eventarc. Per un elenco dei tipi di eventi supportati, consulta Tipi di eventi supportati da Eventarc.

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

Posizione attivatore

I trigger Eventarc sono collegati a determinate località. In generale, la località di un trigger Eventarc deve corrispondere a quella della risorsa Google Cloud che vuoi monitorare per gli eventi. Nella maggior parte degli scenari, devi eseguire il deployment della Cloud Function nella stessa regione. Consulta Informazioni sulle località Eventarc per ulteriori dettagli sulle località dei trigger Eventarc.

Attiva identità

I trigger Eventarc sono collegati agli account di servizio per essere utilizzati come identità quando richiami la funzione. L'account di servizio del trigger Eventarc deve disporre dell'autorizzazione per richiamare la funzione. Per impostazione predefinita, viene utilizzato l'account di servizio Compute predefinito.

Deployment

Puoi specificare un trigger Eventarc quando esegui il deployment di una funzione. Vedi Eseguire il deployment di una funzione Cloud Functions per istruzioni generali su come eseguire il deployment di una funzione. Questa sezione descrive 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 con gcloud CLI, i flag mostrati vengono utilizzati per configurare i 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 indica che stai eseguendo il deployment in Cloud Functions (2nd gen). Devi usare Cloud Functions (2nd gen) per usare i trigger Eventarc.
  • Il flag --trigger-event-filters specifica i filtri eventi che verranno monitorati dal trigger. Un evento che corrisponde a tutti i filtri attiverà le chiamate alla funzione.

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

  • Il flag --trigger-location specifica una località per il trigger Eventarc. Per ulteriori informazioni, consulta Località attivatore. Se non specificata, la regione della funzione viene utilizzata come località del trigger.

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

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

Se stai creando un trigger per un evento Pub/Sub diretto o Cloud Storage, consulta le istruzioni dell'interfaccia alla gcloud CLI per configurare rispettivamente un trigger di Pub/Sub e Cloud Storage.

La documentazione di Eventarc contiene esempi di come specificare filtri di eventi per diversi tipi di eventi. Per ulteriori informazioni, segui le istruzioni durante la creazione di un trigger per provider, tipo di evento e destinazione specifici.

Console

Se stai eseguendo il deployment utilizzando la console Google Cloud, devi selezionare 2a generazione come ambiente. Quindi puoi configurare un trigger Eventarc nella sezione Trigger.

  1. Per aggiungere un attivatore di evento, fai clic su Aggiungi attivatore. 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, in cui puoi specificare i dettagli del trigger.

    Se stai creando un trigger per un evento Pub/Sub diretto o Cloud Storage, fai riferimento alle 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 attivatore nel riquadro Trigger Eventarc per specificare un'opzione tra Origini Google, Personalizzato o Terze parti.

    • Origini Google consente di 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 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 distribuire eventi personalizzati dai produttori ai consumatori. Gli eventi personalizzati vengono pubblicati su un canale e un trigger Eventarc si sottoscrive 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.

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

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

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

  6. Fai clic su Salva attivatore.

Passaggi successivi