Acionadores de funções do Cloud Run

Depois de criar e implementar a sua função do Cloud Run, pode definir a função para ser executada em resposta a vários cenários especificando um acionador. Esta página oferece uma vista geral dos acionadores suportados pelas funções do Cloud Run.

Tipos de acionadores

Por predefinição, todas as funções implementadas no Cloud Run são serviços implementados a partir da origem do Cloud Run que têm um ponto final HTTP (URL run.app). Se criou anteriormente uma função com o comando gcloud functions ou a API Cloud Functions v2, por predefinição, a função tem um cloudfunctions.net ponto final HTTP.

A forma como a sua função é invocada ou acionada depende do tipo de função que especifica quando escreve o código.

  • Acionadores orientados por eventos: reagem a eventos no seu Google Cloud projeto e correspondem a funções orientadas por eventos (também denominadas funções CloudEvent). Tem de usar o Eventarc, a implementação da Google da especificação CloudEvents que suporta a criação de arquiteturas orientadas por eventos, para acionar funções em resposta a eventos especificados.
  • Acionadores HTTP: reagem a pedidos HTTP(S) e correspondem a funções HTTP. Pode usar outros Google Cloud serviços (não Eventarc) como fornecedor de eventos para invocar a função através de pedidos HTTP(S).

Para acionar uma função para reagir a eventos no seu Google Cloud projeto, especifica acionadores como parte da implementação da função na Google Cloud consola ou após a implementação da função quando usa a CLI gcloud.

Não pode associar a mesma função a mais do que um acionador de cada vez, mas pode fazer com que o mesmo evento execute várias funções implementando várias funções com as mesmas definições de acionador.

Exemplos de acionadores

Seguem-se exemplos de acionadores suportados pelas funções do Cloud Run:

Todas as funções acionadas por eventos usam o Eventarc para a entrega de eventos. Os acionadores do Pub/Sub e os acionadores do Cloud Storage são implementados como tipos específicos de acionadores do Eventarc.

Acionadores adicionais através do Pub/Sub e webhooks

Uma vez que as funções do Cloud Run podem ser acionadas por mensagens num tópico do Pub/Sub, pode integrar as funções do Cloud Run com qualquer outro serviço Google que suporte o Pub/Sub como um barramento de eventos. Além disso, ao usar acionadores HTTP, também pode fazer a integração com qualquer serviço que forneça callbacks HTTP (webhooks). As secções seguintes descrevem algumas integrações de exemplo.

Cloud Logging

O Cloud Logging pode encaminhar registos para um tópico do Pub/Sub, onde podem ser consumidos por funções do Cloud Run. Consulte o artigo Configurar e gerir destinos na documentação do Cloud Logging para mais informações.

Cloud Scheduler

Pode agendar uma função HTTP criando uma tarefa do Cloud Scheduler que aciona uma ação através de HTTP.

Também pode agendar uma função acionada por eventos para quando a função deve ser acionada diretamente em resposta a eventos no seu Google Cloud projeto; por exemplo, quando uma mensagem é publicada num tópico do Pub/Sub.

Cloud Tasks

As tarefas de destino HTTP do Cloud Tasks permitem-lhe executar controladores de tarefas em qualquer ponto final HTTP, pelo que uma função HTTP com um acionador HTTP pode ser usada como um controlador de tarefas. Também pode usar tarefas para limitar as invocações de funções. Consulte o artigo Crie tarefas de destino HTTP na documentação do Cloud Tasks para mais informações.

Gmail

Através da API de notificações push do Gmail, pode enviar eventos do Gmail para um tópico do Pub/Sub e consumi-los com o Cloud Run.