Acionadores de função do Cloud Run

Depois de criar e implantar sua função do Cloud Run, especifique um acionador para que a função seja executada em resposta a vários cenários. Esta página oferece uma visão geral dos gatilhos compatíveis com o Cloud Run functions.

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.

  • Acionadores orientados a eventos: reagem a eventos no projeto Google Cloud e correspondem a funções orientadas a eventos, também chamadas de funções do CloudEvent. É 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çosGoogle Cloud (que não são do Eventarc) como um provedor de eventos para invocar a função por meio de solicitações HTTP(S).

Para acionar uma função que reaja a eventos no projeto Google Cloud , especifique os gatilhos como parte da implantação da função no console 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:

Todas as funções orientadas a eventos 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 forneç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 baseada em eventos 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.