Acionadores de função do Cloud Run

Depois de criar e implantar sua função do Cloud Run, é possível configurar a execução dela em resposta a vários cenários especificando um gatilho. Nesta página, você encontra uma visão geral dos gatilhos compatíveis com o Cloud Run functions.

Tipos de gatilhos

Por padrão, todas as funções implantadas no Cloud Run são serviços implantados por origem do Cloud Run que têm um endpoint HTTP (URL run.app). Se você já tiver criado uma função com o comando gcloud functions ou a API Cloud Functions v2, por padrão, a função terá um endpoint HTTP cloudfunctions.net.

A forma como a função é invocada ou acionada depende do tipo de função que você especifica ao escrever o código.

  • Gatilhos orientados a eventos: reagem a eventos no seu projeto Google Cloud e correspondem a funções orientadas a eventos (também chamadas de funções do CloudEvent). Use o Eventarc, a implementação do Google da especificação CloudEvents que oferece suporte à criação de arquiteturas orientadas a eventos, para acionar funções em resposta a eventos especificados.
  • Gatilhos HTTP: reagem a solicitações HTTP(S) e correspondem a funções HTTP. Você pode usar outros serviços Google 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 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 gatilhos

Confira abaixo exemplos de gatilhos compatíveis com as funções do Cloud Run:

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.

Gatilhos adicionais usando 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 deve 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.