Acionadores de função

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:

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.