Attivare un flusso di lavoro con eventi o messaggi Pub/Sub
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Puoi utilizzare un trigger Eventarc per eseguire un flusso di lavoro in seguito a un evento o a un insieme di eventi. Gli eventi vengono instradati da un provider di eventi ai ricevitori di eventi interessati.
Eventarc invia gli eventi al destinatario di eventi nel formato CloudEvents
tramite una richiesta HTTP. Il servizio Workflows converte l'evento in un oggetto JSON (in base alla specifica CloudEvents) e lo passa all'esecuzione del workflow come argomento di runtime del workflow.
Viene attivata un'esecuzione del workflow:
Quando viene creato un log di controllo che corrisponde ai criteri di filtro del trigger.
Ad esempio, consulta questa guida rapida in cui attivi Workflows
con eventi da BigQuery utilizzando Cloud Audit Logs.
In risposta a eventi diretti come un aggiornamento di un bucket Cloud Storage o un aggiornamento di un modello Firebase Remote Config. Ad esempio, consulta
questa guida rapida in cui attivi Workflows con eventi
diretti da Cloud Storage.
Tramite i messaggi pubblicati in un argomento Pub/Sub. Ad esempio, consulta questa guida rapida in cui attivi Workflows con i messaggi Pub/Sub.
Tieni presente quanto segue:
Gli eventi vengono considerati consegnati non appena inizia l'esecuzione del workflow e
l'esecuzione effettiva avviene in modo asincrono nei servizi
Workflows.
Le esecuzioni attivate da eventi non vengono ritentate se l'esecuzione del workflow
inizia, ma non va a buon fine. Per saperne di più, consulta le
norme sui tentativi di ripetizione degli eventi.
La finestra di deduplicazione dei flussi di lavoro per garantire l'elaborazione
esattamente una volta degli eventi è di 24 ore.
Quando utilizzi Workflows come destinazione per un trigger Eventarc, gli eventi più grandi delle dimensioni massime dell'argomento Workflows non attiveranno le esecuzioni del flusso di lavoro.
Per ulteriori informazioni, consulta Quote e limiti.
Nei progetti protetti da un perimetro di servizio, quando indirizzi gli eventi alle destinazioni Workflows per le quali l'endpoint push Pub/Sub è impostato su un'esecuzione di Workflows, puoi creare nuove sottoscrizioni push Pub/Sub solo tramite Eventarc. Tieni presente che il account di servizio utilizzato per l'autenticazione
push per l'endpoint Workflows deve essere incluso
nel perimetro di servizio. Per maggiori informazioni, consulta
Configura 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.
Seleziona un progetto e poi fai clic su Crea service account.
Nel campo Nome service account, inserisci un nome compreso tra 6 e 30 caratteri.
Può contenere caratteri alfanumerici minuscoli e trattini. Una volta creato un account di servizio, non puoi modificarne il nome.
Fai clic su Crea e continua.
Concedi al nuovo account di servizio il ruolo
workflows.invoker in modo che
l'account abbia l'autorizzazione per attivare il workflow. Nell'elenco Seleziona un ruolo, seleziona Workflows > Invoker di Workflows.
Seleziona l'account di servizio che richiama il flusso di lavoro.
Specifica il account di servizio IAM a cui hai
precedentemente concesso il ruolo workflows.invoker, in modo che l'account abbia
l'autorizzazione per attivare il workflow.
Fai clic su Salva trigger.
Il trigger Eventarc è elencato nella scheda Trigger
della pagina Dettagli workflow.
Se vuoi aggiornare o eliminare il trigger, devi modificare il workflow:
Nella pagina Dettagli del flusso di lavoro, fai clic su
editModifica.
Nella sezione Attivatori, individua l'attivatore che vuoi aggiornare o
eliminare.
Fai clic su editModifica risorsa o
deleteElimina risorsa.
L'esecuzione del flusso di lavoro viene ora attivata dagli eventi che corrispondono ai criteri di filtro del trigger.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-09-04 UTC."],[],[],null,["# Trigger a workflow with events or Pub/Sub messages\n\nYou can use an Eventarc trigger to execute a workflow as a\nresult of an event or a set of events. The events are routed from an event\nprovider to interested event receivers.\n\nEventarc delivers events to the event receiver in the CloudEvents\nformat through an HTTP request. The Workflows service converts the\nevent to a JSON object (following the\n[CloudEvents specification](/eventarc/docs/workflows/cloudevents))\nand passes the event into the workflow execution as a\n[workflow runtime argument](/workflows/docs/passing-runtime-arguments).\n\nAn execution of your workflow is triggered:\n\n- When an **audit log is created** that matches the trigger's filter criteria. For example, see this quickstart in which you trigger Workflows with [events from BigQuery using Cloud Audit Logs](/eventarc/docs/workflows/quickstart-cal).\n- In response to **direct events** such as an update to a Cloud Storage bucket or an update to a Firebase Remote Config template. For example, see this quickstart in which you trigger Workflows with [direct\n events from Cloud Storage](/eventarc/docs/workflows/quickstart-storage).\n- By **messages published to a Pub/Sub topic** . For example, see this quickstart in which you trigger Workflows with [Pub/Sub messages](/eventarc/docs/workflows/quickstart-pubsub).\n\nNote the following:\n\n- Events are considered delivered as soon as the workflow execution starts, and\n the actual execution takes place asynchronously in the Workflows\n services.\n\n- Executions triggered by events are not retried if the workflow execution\n starts, but later fails. For more information, see the\n [Event retry policy](/eventarc/docs/overview#event_retry_policy).\n\n- The Workflows deduplication window to ensure exactly-once\n processing of events is 24 hours.\n\n- When using Workflows as the destination for an\n Eventarc trigger, events larger than the maximum\n Workflows argument size will fail to trigger workflow executions.\n For more information, see [Quotas and limits](/workflows/quotas).\n\n- In projects protected by a service perimeter, when routing events to\n Workflows destinations for which the Pub/Sub\n push endpoint is set to a Workflows execution, you can only\n create new Pub/Sub push subscriptions through\n Eventarc. Note that the service account used for push\n authentication for the Workflows endpoint must be included in\n the service perimeter. For more information, see\n [Set up a service perimeter using VPC Service Controls](/eventarc/docs/using-vpc-service-controls).\n\nCreate a trigger using the Google Cloud CLI\n-------------------------------------------\n\nYou can create a trigger by running a `gcloud eventarc triggers create` command\nalong with required and optional flags.\n\nFor more information, see the **gcloud** instructions in the \"Create a\ntrigger\" section when\n[creating a trigger for a specific provider, event type, and Workflows destination](/eventarc/docs/targets#triggers).\n\nCreate a trigger using the console\n----------------------------------\n\nThe following steps show you how to create a trigger on the\n**Workflows** page in the Google Cloud console.\n\n### Before you begin\n\n1.\n\n\n Enable the Eventarc and Pub/Sub APIs.\n\n\n [Enable the APIs](https://console.cloud.google.com/flows/enableapi?apiid=eventarc.googleapis.com,pubsub.googleapis.com)\n2. Create a [service account](/workflows/docs/authentication)\n so that Eventarc can make requests to the Workflows API:\n\n 1. In the Google Cloud console, go to the **Service Accounts** page.\n\n\n [Go to Service Accounts](https://console.cloud.google.com/projectselector2/iam-admin/serviceaccounts)\n\n \u003cbr /\u003e\n\n 2. Select a project and then click **Create service account**.\n\n 3. In the **Service account name** field, enter a name that is between 6 and\n 30 characters.\n\n It can contain lowercase alphanumeric characters and\n dashes. After you create a service account, you cannot change its name.\n 4. Click **Create and continue**.\n\n 5. Grant your new service account the\n [workflows.invoker](/workflows/docs/access-control#roles) role so that the\n account has permission to trigger your workflow. In the **Select a role**\n list, select **Workflows \\\u003e Workflows Invoker**.\n\n If you are developing a production app, always grant the least permissive roles\n possible. For more information, see\n [Manage access to projects, folders, and organizations](/iam/docs/granting-roles-to-service-accounts).\n 6. Click **Done**.\n\n3. To allow the principal that will run your Eventarc\n commands the ability to act as an Identity and Access Management (IAM) service\n account,\n [grant a role that allows the principal to impersonate the service account](/iam/docs/service-account-permissions#roles).\n\n### Configure the trigger\n\n1. If you don't already have a workflow that you want to trigger,\n [create and deploy one](/workflows/docs/creating-updating-workflow#creating_a_workflow).\n\n2. In the Google Cloud console, go to the **Workflows** page:\n\n\n [Go to Workflows](https://console.cloud.google.com/workflows)\n\n \u003cbr /\u003e\n\n3. On the Workflows page, select a workflow to go to its details\n page.\n\n4. On the **Workflow Details** page, click\n *edit* **Edit**.\n\n5. On the **Edit workflow** page, select **Add new trigger \\\u003e\n Eventarc**.\n\n The **Eventarc trigger** pane opens.\n6. Follow the instructions to\n [create a trigger for a specific provider, event type, and\n Workflows destination](/eventarc/standard/docs/event-providers-targets#triggers)\n and refer to the **Console** instructions in the \"Create a trigger\" section.\n\n7. Select the **Service account** that invokes your workflow.\n\n This specifies the IAM service account to which you\n previously granted the `workflows.invoker` role so that the account has\n permission to trigger your workflow.\n8. Click **Save trigger**.\n\n | **Note:** If you are updating an existing workflow, you do *not* need to redeploy the workflow. However, if you are creating a new workflow, you must also deploy the workflow.\n\n The Eventarc trigger is listed on the **Triggers**\n tab of the **Workflows Details** page.\n9. If you want to update or delete the trigger, you must edit the workflow:\n\n 1. On the **Workflow Details** page, click *edit* **Edit**.\n 2. In the **Triggers** section, find the trigger you want to update or delete.\n 3. Click *edit* **Edit resource** or *delete* **Delete resource**.\n\nYour workflow execution is now triggered by the events that match your trigger's\nfilter criteria.\n\nCreate a trigger using Terraform\n--------------------------------\n\nYou can create a trigger for a workflow using Terraform. For details, see\n[Trigger a workflow using Eventarc and Terraform](/eventarc/docs/creating-triggers-terraform).\n\nWhat's next\n-----------\n\n- [Learn more about Eventarc](/eventarc/docs/overview)"]]