gatilhos do Eventarc
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.
As funções orientadas a eventos no Cloud Run usam acionadores 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 o Cloud Run functions 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. Talvez seja necessário verificar se a conta de serviço padrão do Compute tem as permissões corretas para invocar a função.
Implantação
É possível especificar um acionador do Eventarc ao implantar uma função. Consulte Implantar as Cloud Run functions 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 flag
--gen2
especifica que você está implantando nas funções do Cloud Run. Use as funções do Cloud Run 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 alterarEVENT_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 formatoATTRIBUTE=VALUE
para adicionar mais filtros.
- Obrigatório: cada gatilho precisa ter um tipo de evento compatível no formato
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 formatoATTRIBUTE=VALUE
. Consulte Entender os 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.
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.
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.
No campo Região, selecione um local para o acionador do Eventarc, se aplicável. Consulte Local do acionador para mais informações.
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.
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.
Clique em Salvar acionador.
Próximas etapas
- Saiba como escrever funções baseadas em eventos.
- Saiba como implantar uma função do Cloud Run.
- Consulte os seguintes tutoriais para ver exemplos de como escrever, implantar e chamar funções com um acionador do Eventarc: