Attivazione di un flusso di lavoro con eventi o messaggi Pub/Sub

Puoi utilizzare un trigger Eventarc per eseguire un flusso di lavoro come risultato di un evento o di un insieme di eventi. Gli eventi vengono instradati da un fornitore di eventi ai ricevitori di eventi interessati.

Eventarc invia gli eventi al ricevitore di eventi nell'evento CloudEvents tramite una richiesta HTTP. Il servizio Workflows converte l'evento in un oggetto JSON (secondo la specifica CloudEvents) e lo passa all'esecuzione del flusso di lavoro come argomento di runtime del flusso di lavoro.

Viene attivata un'esecuzione del flusso di lavoro:

  • Quando viene creato un log di controllo che corrisponde ai criteri del filtro del trigger. Ad esempio, consulta questa guida rapida in cui attivi i flussi di lavoro con eventi di BigQuery utilizzando Cloud Audit Logs.
  • In risposta a eventi diretti come un aggiornamento a Cloud Storage. un bucket Cloud Storage o un aggiornamento a un modello Firebase Remote Config. Ad esempio, vedi di questa guida rapida in cui attiverai Workflows con da Cloud Storage.
  • Per messaggi pubblicati in un argomento Pub/Sub. Ad esempio, consulta questo rapida in cui attivare Workflows con Messaggi Pub/Sub.

Tieni presente quanto segue:

  • Gli eventi vengono considerati pubblicati non appena inizia l'esecuzione del flusso di lavoro e l'esecuzione effettiva avviene in modo asincrono nei Workflows i servizi di machine learning.

  • Le esecuzioni attivate da eventi non vengono ritentate se l'esecuzione del flusso di lavoro si avvia, ma in seguito non riesce. Per ulteriori informazioni, consulta Criterio per i nuovi tentativi degli eventi.

  • La finestra di deduplicazione di Workflows per assicurare una l'elaborazione degli eventi richiede 24 ore.

  • Quando utilizzi Workflows come destinazione per un Trigger Eventarc, eventi maggiori del limite massimo La dimensione dell'argomento di Workflows non attiverà le esecuzioni del flusso di lavoro. Per ulteriori informazioni, consulta Quote e limiti.

  • Nei progetti protetti da un perimetro di servizio, durante l'instradamento degli eventi le destinazioni Workflows per cui endpoint push è impostato su un'esecuzione di Workflows, puoi solo e creare nuove sottoscrizioni push di Pub/Sub Eventarc. Tieni presente che l'account di servizio utilizzato per il push l'autenticazione per l'endpoint di Workflows deve essere inclusa il perimetro di servizio. Per ulteriori informazioni, consulta Configurare un perimetro di servizio utilizzando i Controlli di servizio VPC.

Crea un trigger utilizzando Google Cloud CLI

Puoi creare un trigger eseguendo un comando gcloud eventarc triggers create insieme ai flag obbligatori e facoltativi.

Per ulteriori informazioni, consulta le istruzioni di gcloud nella sezione attivare" quando creazione di un trigger per un provider, un tipo di evento e una destinazione di Workflows specifici.

Creare un trigger utilizzando la console

I passaggi che seguono mostrano come creare un trigger nella pagina Workflows della console Google Cloud.

Prima di iniziare

  1. Enable the Eventarc and Pub/Sub APIs.

    Enable the APIs

  2. Crea un account di servizio in modo che Eventarc possa inviare richieste all'API Workflows:

    1. Nella console Google Cloud, vai alla pagina Account di servizio.

      Vai a Service account

    2. Seleziona un progetto e fai clic su Crea account di servizio.

    3. Nel campo Nome account di servizio, inserisci un nome compreso tra 6 e 30 caratteri.

      Può contenere caratteri alfanumerici minuscoli e trattini. Dopo aver creato un account di servizio, non puoi modificarne il nome.

    4. Fai clic su Crea e continua.

    5. Concedi al nuovo account di servizio il ruolo workflows.invoker in modo che abbia l'autorizzazione per attivare il flusso di lavoro. Nella sezione Seleziona un ruolo dall'elenco, seleziona Workflows > Workflows Invoker.

      Se stai sviluppando un'app di produzione, concedi sempre i ruoli meno permissivi possibili. Per ulteriori informazioni, vedi Gestire l'accesso a progetti, cartelle e organizzazioni.

    6. Fai clic su Fine.

  3. Consenti l'entità che eseguirà il tuo Eventarc consente di agire come servizio IAM (Identity and Access Management) l'account di servizio, concedi un ruolo che consenta all'entità di impersonare l'account di servizio.

Configurare l'attivatore

  1. Se non hai già un flusso di lavoro che vuoi attivare, crearne ed eseguirne il deployment.

  2. Nella console Google Cloud, vai alla pagina Flussi di lavoro:

    Vai a Flussi di lavoro

  3. Nella pagina Workflows, seleziona un flusso di lavoro per visualizzarne i dettagli .

  4. Nella pagina Dettagli del flusso di lavoro, fai clic su Modifica.

  5. Nella pagina Modifica flusso di lavoro, seleziona Aggiungi nuovo trigger > Eventarc.

    Si apre il riquadro Trigger Eventarc.

  6. Segui le istruzioni per creare un attivatore per un fornitore, un tipo di evento e una Workflows destinazione e consulta le istruzioni della Console nella sezione "Creare un attivatore".

  7. Seleziona l'Account di servizio che richiama il tuo flusso di lavoro.

    Specifica l'account di servizio IAM a cui in precedenza ha concesso il ruolo workflows.invoker, in modo che l'account abbia per attivare il flusso di lavoro.

  8. Fai clic su Salva trigger.

    L'attivatore Eventarc è elencato nella scheda Trigger della pagina Dettagli flussi di lavoro.

  9. Se vuoi aggiornare o eliminare il trigger, devi modificare il flusso di lavoro:

    1. Nella pagina Dettagli del flusso di lavoro, fai clic su Modifica.
    2. Nella sezione Attivatori, trova l'attivatore che vuoi aggiornare. eliminare.
    3. Fai clic su Modifica risorsa oppure Elimina risorsa.

L'esecuzione del flusso di lavoro viene ora attivata dagli eventi corrispondenti criteri di filtro.

Crea un trigger utilizzando Terraform

Puoi creare un trigger per un flusso di lavoro utilizzando Terraform. Per maggiori dettagli, vedi Attivare un flusso di lavoro utilizzando Eventarc e Terraform.

Passaggi successivi