Depois de criar e implantar a função com o Cloud Run, é possível especificar um acionador para que ela seja executada em resposta a vários cenários.
Nesta página, você terá uma visão geral dos gatilhos compatíveis com as funções do Cloud Run.
Tipos de acionadores
Por padrão, todas as funções implantadas no Cloud Run são
serviços implantados pelo código do Cloud Run
que têm um endpoint HTTP (URL run.app
).
A forma como a função é invocada ou acionada depende do tipo de função especificado ao escrever o código.
- Os acionadores do CloudEvent reagem a eventos no seu projeto do Google Cloud e correspondem a funções do CloudEvent, também chamadas de funções orientadas a eventos. É necessário usar o Eventarc, a implementação do Google da especificação do CloudEvents que oferece suporte à criação de arquiteturas orientadas a eventos, para acionar funções em resposta a eventos especificados.
- Acionadores HTTP: reagem a solicitações HTTP(S) e correspondem a funções HTTP. É possível usar outros serviços doGoogle Cloud (que não são do Eventarc) como um provedor de eventos para invocar a função por solicitações HTTP(S).
Para acionar uma função que reaja a eventos no seu projeto Google Cloud , especifique acionadores como parte da implantação da função no console do Google Cloud ou depois que a função for implantada ao usar a CLI gcloud.
Não é possível vincular a mesma função a mais de um gatilho por vez, mas é possível fazer com que o mesmo evento cause a execução de várias funções implantando várias funções com as mesmas configurações de gatilho.
Exemplos de acionadores
Confira abaixo exemplos de gatilhos compatíveis com o Cloud Run functions:
Acionadores do CloudEvent:
- Eventos do Pub/Sub acionados pelo Eventarc
- Eventos do Cloud Storage acionados pelo Eventarc
- Eventos do Firestore acionados pelo Eventarc
- Gatilhos gerais do Eventarc
- Compatível com qualquer tipo de evento aceito pelo Eventarc, incluindo mais de 90 origens de eventos usando os registros de auditoria do Cloud
Gatilhos HTTP:
- Invocar com uma solicitação HTTP
- Invocar serviços como parte de um fluxo de trabalho com o Workflows
- Invocar serviços em uma programação com o Cloud Scheduler
- Usar o Cloud Tasks para executar tarefas assíncronas
- Acionar serviços de uma assinatura de push do Pub/Sub
- As mensagens do Pub/Sub podem ser roteadas diretamente para uma função por meio de solicitações HTTP ou agrupadas no Eventarc como um acionador do CloudEvent.
Todas as funções do CloudEvents usam o Eventarc para a entrega de eventos. Os gatilhos do Pub/Sub e do Cloud Storage são implementados como tipos específicos de gatilhos do Eventarc.
Outros gatilhos usando o Pub/Sub e webhooks
Como o Cloud Run functions pode ser acionado por mensagens em um tópico do Pub/Sub, é possível integrar o Cloud Run functions a qualquer outro serviço do Google compatível com o Pub/Sub como um barramento de eventos. Além disso, com os gatilhos HTTP, também é possível fazer a integração com qualquer serviço que ofereça callbacks HTTP (webhooks). As seções a seguir descrevem alguns exemplos de integrações.
Cloud Logging
O Cloud Logging pode encaminhar registros para um tópico do Pub/Sub, em que eles podem ser consumidos pelo Cloud Run functions. Consulte Configurar e gerenciar coletores na documentação do Cloud Logging para mais informações.
Cloud Scheduler
É possível programar uma função HTTP criando um job do Cloud Scheduler que aciona uma ação usando HTTP.
Também é possível programar uma função do CloudEvent quando ela precisa ser acionada diretamente em resposta a eventos no projeto Google Cloud . Por exemplo, quando uma mensagem é publicada em um tópico do Pub/Sub.
Cloud Tasks
As tarefas de destino HTTP do Cloud Tasks permitem que você execute gerenciadores de tarefas em qualquer endpoint HTTP. Portanto, uma função HTTP com um gatilho HTTP pode ser usada como um gerenciador de tarefas. Também é possível usar tarefas para limitar invocações de função. Consulte Criar tarefas de destino HTTP na documentação do Cloud Tasks para mais informações.
Gmail
Com a API Push Notification do Gmail, é possível enviar eventos do Gmail para um tópico do Pub/Sub e consumi-los com o Cloud Run.