É possível usar um gatilho do Eventarc para executar um fluxo de trabalho como resultado de um evento ou conjunto de eventos. Os eventos são roteados de um provedor de eventos para receptores de eventos interessados.
O Eventarc entrega eventos ao receptor de eventos no formato CloudEvents por uma solicitação HTTP. O serviço Workflows converte o evento em um objeto JSON (seguindo a especificação do CloudEvents) e o transmite para a execução do fluxo de trabalho como um argumento de ambiente de execução do fluxo de trabalho.
Uma execução do fluxo de trabalho é acionada:
- Quando um registro de auditoria é criado que corresponde aos critérios de filtro do acionador. Por exemplo, consulte este guia de início rápido em que você aciona Workflows com eventos do BigQuery usando os registros de auditoria do Cloud.
- Em resposta a eventos diretos, como uma atualização para um bucket do Cloud Storage ou uma atualização para um modelo do Configuração remota do Firebase. Por exemplo, consulte este guia de início rápido em que você aciona Workflows com eventos diretos do Cloud Storage.
- Por mensagens publicadas em um tópico do Pub/Sub. Por exemplo, consulte este guia de início rápido em que você aciona Workflows com mensagens do Pub/Sub.
Observações:
Os eventos são considerados entregues assim que a execução do fluxo de trabalho é iniciada e a execução real ocorre de forma assíncrona nos serviços de Workflows.
As execuções acionadas por eventos não serão repetidas se a execução do fluxo de trabalho for iniciada, mas posteriormente falhar. Para mais informações, consulte a política de novas tentativas de eventos.
Ao usar o Workflows como destino para um acionador do Eventarc, eventos maiores que o tamanho máximo do argumento do Workflows não acionarão execuções do fluxo de trabalho. Para mais informações, consulte Cotas e limites.
Em projetos protegidos por um perímetro de serviço, ao rotear eventos para destinos de Workflows para os quais o endpoint de push do Pub/Sub está definido como uma execução de Workflows, só é possível criar novas assinaturas de push do Pub/Sub por meio do Eventarc. A conta de serviço usada na autenticação push para o endpoint do Workflows precisa ser incluída no perímetro de serviço. Para mais informações, consulte Configurar um perímetro de serviço usando o VPC Service Controls.
Criar um gatilho usando a Google Cloud CLI
Para criar um gatilho, execute um comando gcloud eventarc triggers create
com as sinalizações obrigatórias e opcionais.
Para mais informações, consulte as instruções da gcloud na seção "Criar um gatilho" ao criar um gatilho para um provedor, tipo de evento e destino Workflows específicos.
Criar um gatilho usando o console
As etapas a seguir mostram como criar um gatilho na página Fluxos de trabalho no Console do Google Cloud.
Antes de começar
-
Ative as APIs Eventarc and Pub/Sub.
Crie uma conta de serviço para que o Eventarc possa fazer solicitações à API Workflows:
No Console do Google Cloud, acesse a página Contas de serviço.
Selecione um projeto e clique em Criar conta de serviço.
No campo Nome da conta de serviço, insira um nome que tenha entre 6 e 30 caracteres.
Ele pode conter caracteres alfanuméricos minúsculos e traços. Depois de criar uma conta de serviço, não é possível alterar o nome dela.
Clique em Criar e continuar.
Conceda à nova conta de serviço o papel workflows.invoker para que ela tenha permissão para acionar o seu fluxo de trabalho. Na lista Selecionar um papel, selecione Fluxos de trabalho > Invocador de fluxos de trabalho.
Se você estiver desenvolvendo um aplicativo de produção, conceda sempre os papéis menos permissivos possível. Para mais informações, consulte Gerenciar o acesso a projetos, pastas e organizações.
Clique em Concluído.
Para permitir que o principal que executará os comandos do Eventarc atue como uma conta de serviço do Identity and Access Management (IAM), conceda um papel que permita que o principal represente a conta de serviço.
Configurar o gatilho
Se você ainda não tiver um fluxo de trabalho que queira acionar, crie e implante um.
No Console do Google Cloud, acesse a página Fluxos de trabalho:
Na página Workflows", selecione um fluxo de trabalho para acessar a página de detalhes.
Na página Detalhes do fluxo de trabalho, clique em edit Executar.
Na página Editar fluxo de trabalho, selecione Adicionar novo gatilho > Eventarc.
O painel Gatilho do Eventarc é aberto.
Siga as instruções para criar um gatilho para um provedor, tipo de evento e destino Workflows específicos e consulte as instruções do Console. na seção "Criar um gatilho".
Selecione a conta de serviço que invoca seu fluxo de trabalho.
Isso especifica a conta de serviço do IAM a que você concedeu anteriormente o papel
workflows.invoker
para que a conta tenha permissão para acionar seu fluxo de trabalho.Clique em Salvar acionador.
O gatilho do Eventarc está listado na guia Gatilhos da página Detalhes do fluxo de trabalho.
Se você quiser atualizar ou excluir o acionador, edite o fluxo de trabalho:
- Na página Detalhes do fluxo de trabalho, clique em edit Executar.
- Na seção Acionadores, localize o acionador que você quer atualizar ou excluir.
- Clique em edit Editar recurso ou delete Excluir recurso.
A execução do fluxo de trabalho agora é acionada pelos eventos que correspondem aos critérios de filtro do acionador.
Criar um gatilho usando o Terraform
É possível criar um gatilho para um fluxo de trabalho usando o Terraform. Para detalhes, consulte Acionar um fluxo de trabalho usando o Eventarc e o Terraform.