gatilhos do Eventarc

No Cloud Functions (2ª geração), um gatilho do Eventarc permite que uma função seja acionada por qualquer tipo de evento compatível com o Eventarc. Ao especificar um gatilho do Eventarc para uma função, você fornece filtros de eventos. A função será chamada sempre que ocorrer um evento correspondente aos filtros.

Todas as funções orientadas por eventos no Cloud Functions (2ª geração) usam gatilhos do Eventarc. Para mais informações, consulte Gatilhos do Eventarc na documentação do Eventarc. Para ver uma lista de tipos de evento compatíveis, consulte Tipos de evento compatíveis com o Eventarc.

Para que uma função use um gatilho do Eventarc, ela precisa ser implementada como uma função do CloudEvent. Os dados do evento são transmitidos para a função no formato CloudEvents, com um payload de dados do CloudEvent correspondente ao tipo de evento. O repositório Eventos do Google contém outros recursos para trabalhar com dados de eventos.

Local do gatilho

Os acionadores do Eventarc estão vinculados a determinados locais. Em geral, o local de um acionador do Eventarc precisa corresponder ao local do recurso do Google Cloud que você quer monitorar para eventos. Na maioria dos cenários, você também precisa implantar a função do Cloud na mesma região. Consulte Noções básicas sobre locais do Eventarc para mais detalhes sobre locais de acionador do Eventarc.

Identidade do acionador

Os acionadores do Eventarc são vinculados a contas de serviço para usar como uma identidade ao invocar a função. A conta de serviço do gatilho do Eventarc precisa ter permissão para invocar a função. A conta de serviço de computação padrão é usada por padrão.

Implantação

É possível especificar um acionador do Eventarc ao implantar uma função. Consulte Implantar uma função do Cloud para instruções gerais sobre como implantar uma função. Nesta seção, descrevemos como configurar um gatilho do Eventarc que chama uma função quando um evento correspondente aos filtros ocorre durante a implantação.

gcloud

Se você estiver implantando pela gcloud CLI, as flags mostradas serão usadas para configurar os gatilhos do Eventarc:

gcloud functions deploy YOUR_FUNCTION_NAME \
  --gen2 \
  --trigger-event-filters="type=EVENTARC_FILTER_TYPE" \
  [--trigger-event-filters=EVENTARC_EVENT_FILTER] \
  [--trigger-event-filters-path-pattern=EVENTARC_EVENT_PATH_PATTERN] \
  [--trigger-location=EVENTARC_TRIGGER_LOCATION] \
  [--trigger-service-account=EVENTARC_TRIGGER_SERVICE_ACCOUNT] \
  [--retry] \
...
  • A sinalização --gen2 especifica que você está implantando no Cloud Functions (2a geração). Use o Cloud Functions (2ª geração) para usar acionadores do Eventarc.
  • A sinalização --trigger-event-filters especifica os filtros de eventos que o acionador vai monitorar. Um evento correspondente a todos os filtros acionará chamadas para sua função.

    • Obrigatório: cada gatilho precisa ter um tipo de evento compatível no formato --event-filters="type=EVENTARC_FILTER_TYPE". Não é possível alterar esse tipo de evento após a criação. Para alterar EVENT_FILTER_TYPE, crie um novo gatilho e exclua o antigo.
    • Opcional: é possível repetir a flag --trigger-event-filters com um filtro compatível no formato ATTRIBUTE=VALUE para adicionar mais filtros.
  • O flag --trigger-event-filters-path-pattern especifica os filtros de evento que o gatilho vai monitorar no formato de padrão de caminho. Cada filtro precisa estar no formato ATTRIBUTE=VALUE. Consulte Noções básicas sobre padrões de caminho para mais informações.

  • A sinalização --trigger-location especifica um local para o acionador do Eventarc. Consulte Localização do acionador para mais informações. Se não for especificada, a região da função será usada como o local do acionador.

  • A sinalização --trigger-service-account especifica uma conta de serviço a ser usada como a identidade do acionador do Eventarc. Consulte Identidade do acionador para mais informações.

  • A sinalização --retry controla se as chamadas de função com falha são repetidas automaticamente. Consulte Como repetir funções orientadas a eventos para mais informações.

Se você estiver criando um gatilho para um evento direto do Pub/Sub ou do Cloud Storage, consulte as instruções da CLI gcloud para configurar um gatilho do Pub/Sub e do Cloud Storage, respectivamente.

A documentação do Eventarc contém exemplos de como especificar filtros para diferentes tipos de eventos. Para mais informações, siga as instruções ao criar um gatilho para um provedor, tipo de evento e destino específico.

Console

Se você estiver implantando usando o Console do Google Cloud, selecione a segunda geração como seu ambiente. Em seguida, você pode configurar um acionador do Eventarc na seção Acionador.

  1. Para adicionar um gatilho de evento, clique em Adicionar gatilho. Isso exibe as seguintes opções:

    • Gatilho do Pub/Sub
    • Gatilho do Cloud Storage
    • Gatilho do Firestore
    • Outro gatilho

    Quando você escolhe uma dessas opções, o painel Gatilho do Eventarc é aberto, e você pode especificar os detalhes do gatilho.

    Se você estiver criando um gatilho para um evento direto do Pub/Sub ou do Cloud Storage, consulte as instruções do console do Google Cloud para configurar um gatilho do Pub/Sub e do Cloud Storage, respectivamente.

  2. Se você escolher Outro gatilho, use o método Tipo de gatilho no campoGatilho do Eventarc para especificar uma das Fontes do Google, Personalizada ou de Terceiros.

    • As Fontes do Google permitem especificar gatilhos para o Pub/Sub, o Cloud Storage, o Firestore e outros provedores de eventos do Google. No painel Gatilho do Eventarc, use o campo Provedor de eventos para selecionar o produto que fornece o tipo de evento que você quer engatilhar. Em seguida, no campo Evento, selecione o evento que você quer usar como gatilho.

    • A opção Personalizada permite produzir e consumir eventos do código do aplicativo. Siga as instruções no painel Gatilho do Eventarc para criar um canal. Um canal é um recurso usado como pipeline para entregar eventos personalizados de produtores a consumidores. Eventos personalizados são publicados em um canal, e um gatilho do Eventarc se inscreve nesses eventos.

    • A opção Terceiros permite a integração com provedores que não são do Google que oferecem uma fonte do Eventarc. Consulte Eventos de terceiros no Eventarc para mais detalhes.

  3. No campo Região, selecione um local para o acionador do Eventarc, se aplicável. Consulte Local do acionador para mais informações.

  4. Opcionalmente, no campo Conta de serviço, selecione uma conta de serviço a ser usada como a identidade do acionador do Eventarc. Consulte Identidade do acionador para mais informações.

  5. Marque ou limpe a caixa de seleção Tentar novamente em caso de falha para controlar se as chamadas de função com falha são repetidas automaticamente. Consulte Como repetir funções orientadas a eventos para mais informações.

  6. Clique em Salvar acionador.

Próximas etapas