Acione 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 evento 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 que corresponde aos critérios de filtro do acionador. Por exemplo, consulte este guia de início rápido em que você aciona o Workflows 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, de início rápido para acionar o Workflows com Mensagens do Pub/Sub.

Observe o seguinte:

  • Os eventos são considerados entregues assim que a execução do fluxo de trabalho é iniciada. a execução real ocorre de forma assíncrona nos Workflows serviços.

  • 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 de eventos é de 24 horas.

  • Ao usar o Workflows como destino para um Gatilho do Eventarc, eventos maiores que o máximo O tamanho do argumento do Workflows não vai acionar 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 Configure 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 acionar" 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 gatilho no Página Fluxos de trabalho no console do Google Cloud.

Antes de começar

  1. Ative as APIs Eventarc and Pub/Sub.

    Ative as APIs

  2. criar 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 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.

    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 caixa de diálogo Selecionar papel, lista, selecione Fluxos de trabalho > Invocador de fluxos de trabalho.

      Ao desenvolver um aplicativo de produção, sempre conceda os papéis menos permissivos sempre que possível. Para mais informações, consulte Gerenciar o acesso a projetos, pastas e organizações.

    6. Clique em Concluído.

  3. Para permitir o principal que vai executar o Eventarc a capacidade de atuar como um serviço do Identity and Access Management (IAM) conta, conceder um papel que permita ao 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 Workflows, selecione um fluxo de trabalho para acessar os detalhes página.

  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.

    Especifica a conta de serviço do IAM à qual você já recebeu o papel workflows.invoker para que a conta tenha para acionar seu fluxo de trabalho.

  8. Clique em Salvar acionador.

    O gatilho do Eventarc está listado na página Gatilhos da página Detalhes do fluxo 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 Gatilhos, encontre o gatilho 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