Acionar um fluxo de trabalho com eventos ou mensagens do Pub/Sub

É 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 a para um objeto JSON (seguindo especificação CloudEvents) e passa o evento para a execução do fluxo de trabalho como um argumento de ambiente de execução do fluxo de trabalho.

Uma execução do seu fluxo de trabalho é acionada:

  • Quando um registro de auditoria é criado e corresponde aos critérios de filtro do gatilho. Por exemplo, consulte este guia de início rápido em que você aciona fluxos de trabalho com eventos do BigQuery usando os Registros de auditoria do Cloud.
  • Em resposta a eventos diretos, como uma atualização em um bucket do Cloud Storage ou uma atualização em um modelo da Configuração remota do Firebase. Por exemplo, consulte neste guia de início rápido, em que você aciona o Workflows com 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 fluxos de trabalho com mensagens do Pub/Sub.

Observe o seguinte:

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

  • As execuções acionadas por eventos não são repetidas se a execução do fluxo de trabalho é iniciado, mas mais tarde falha. Para mais informações, consulte a Política de nova tentativa de evento.

  • A janela de eliminação de duplicação do Workflows para garantir exatamente uma vez e o processamento de eventos é de 24 horas.

  • Ao usar o Workflows como destino para um acionador do Eventarc, eventos maiores que o tamanho máximo de argumentos do Workflows não acionarão as 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 Os destinos Workflows para os quais o Pub/Sub endpoint de push estiver definido como uma execução Workflows, só será possível criar novas assinaturas de push do Pub/Sub com Eventarc A conta de serviço usada para notificações push a autenticação do endpoint do Workflows precisa ser incluída no o 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 no artigo "Criar um gatilho" quando criar um gatilho para um provedor, um tipo de evento e um Workflows específicos.

Criar um gatilho usando o console

As etapas a seguir mostram como criar um acionador na página Fluxos de trabalho no console do Google Cloud.

Antes de começar

  1. Enable the Eventarc and Pub/Sub APIs.

    Enable the APIs

  2. Crie uma conta de serviço para que o Eventarc possa fazer solicitações à API Workflows:

    1. No Console do Google Cloud, acesse a página Contas de serviço.

      Acessar a página "Contas de serviço"

    2. Selecione um projeto e clique em Criar conta de serviço.

    3. No campo Nome da conta de serviço, insira um nome com entre 6 e 30 caracteres.

      Ele pode conter caracteres alfanuméricos minúsculos e hifens. Depois de criar uma conta de serviço, não é possível alterar o nome dela.

    4. Clique em Criar e continuar.

    5. Conceda à sua nova conta de serviço o papel workflows.invoker para que tem permissão para acionar seu fluxo de trabalho. Na lista Selecionar um papel, selecione Fluxos de trabalho > Invocador de fluxos de trabalho.

      Se você estiver desenvolvendo um app de produção, sempre conceda os papéis menos permissivos possíveis. Para mais informações, consulte Gerenciar o acesso a projetos, pastas e organizações.

    6. Clique em Concluído.

  3. Para permitir que a principal que vai executar os comandos do Eventarc atue como uma conta de serviço do Identity and Access Management (IAM), conceda um papel que permita à principal personificar a conta de serviço.

Configurar o gatilho

  1. Se ainda não tiver um fluxo de trabalho que queira acionar, criar e implantar uma.

  2. No console do Google Cloud, acesse a página Fluxos de trabalho.

    Acessar fluxos de trabalho

  3. Na página "Fluxos de trabalho", selecione um fluxo para acessar a página de detalhes dele.

  4. Na página Detalhes do fluxo de trabalho, clique em Executar.

  5. Na página Editar fluxo de trabalho, selecione Adicionar novo gatilho > Eventarc.

    O painel Gatilho do Eventarc é aberto.

  6. 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".

  7. 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 o papel workflows.invoker anteriormente para que ela tenha permissão para acionar seu fluxo de trabalho.

  8. Clique em Salvar acionador.

    O acionador do Eventarc está listado na guia Gatilhos da página Detalhes dos fluxos de trabalho.

  9. Se você quiser atualizar ou excluir o gatilho, será necessário editar o fluxo de trabalho:

    1. Na página Detalhes do fluxo de trabalho, clique em Executar.
    2. Na seção Acionadores, encontre o acionador que você quer atualizar ou excluir.
    3. Clique em Editar recurso ou Excluir recurso.

A execução do fluxo de trabalho agora é acionada pelos eventos que correspondem ao critérios de filtro.

Criar um gatilho usando o Terraform

É possível criar um gatilho para um fluxo de trabalho usando o Terraform. Para mais detalhes, acesse Como acionar um fluxo de trabalho usando o Eventarc e o Terraform.

A seguir