Neste tutorial, mostramos como programar uma função do Cloud Run HTTP direcionando um endpoint HTTP no Cloud Scheduler. Use uma função HTTP quando precisar que a função tenha um endpoint de URL e responda a solicitações HTTP, como para webhooks.
Como alternativa, se você criou uma função do CloudEvents, use acionadores de eventos do Eventarc para programar a resposta da função a eventos no seu projeto. O Eventarc pode acionar mensagens em um tópico do Pub/Sub, mudanças em um bucket do Cloud Storage e muito mais. Para mais informações, consulte Tipos de funções do Cloud Run.
Agendar a execução de uma função do Cloud Run é um caso de uso comum do Cloud Scheduler. Com este tutorial, você vai:
Criar uma função do Cloud Run em HTTP
Crie uma função HTTP acionada pelo Cloud Scheduler.
No console Google Cloud , acesse a página do Cloud Run.
Clique em Escrever uma função.
Na seção Configurar, faça o seguinte:
- No campo Nome do serviço, insira um nome para a função.
- Na lista Região, selecione uma região.
- Não modifique o idioma de execução padrão.
Para autenticação, selecione Exigir autenticação.
Se você precisa seguir uma política da organização de restrição de domínio que restringe invocações não autenticadas para seu projeto, será necessário acessar o serviço implantado, conforme descrito em Como testar serviços particulares.
Para mais informações, consulte Autenticar para invocação.
Aceite todos os padrões e clique em Criar.
Copie o URL HTTP da função.
Para mais informações, incluindo como implantar uma função do Cloud Run usando o Terraform, consulte Implantar uma função do Cloud Run.
Criar um job do Cloud Scheduler
Crie um job do Cloud Scheduler que acione uma ação usando HTTP.
No console Google Cloud , acesse a página Cloud Scheduler.
Clique em
Criar job.Insira um nome para o job.
Na lista Região, selecione uma região.
Especifique a frequência do job usando um formato unix-cron:
30 16 * * 7
Para mais informações, consulte Formato e fuso horário do cron job.
Na lista Fuso horário, selecione um fuso horário.
Clique em Continuar.
Na lista Tipo de destino, selecione HTTP.
No campo URL, insira o URL HTTP da função que você copiou antes.
Na lista Cabeçalho de autenticação, selecione Adicionar token OIDC.
Na lista Conta de serviço, selecione a conta de serviço que você criou antes.
No campo Público-alvo, insira o URL HTTP da função que você copiou antes.
Clique em Criar.
Você criou um cron job que executa sua função do Cloud Run às 16h30 aos domingos.
Executar o job do Cloud Scheduler
Agora você pode executar o job que criou.
No console Google Cloud , acesse a página do Cloud Scheduler.
Marque a caixa de seleção do job que você criou e clique em Execução forçada.
Na primeira vez que é invocado, o primeiro job criado em um projeto pode levar alguns minutos para ser configurado e executado.
Depois que o job for executado, o Status da última execução vai indicar
Success
.
Verificar os resultados no Cloud Run functions
É possível verificar se a função do Cloud Run foi acionada e executada corretamente pelo cron job.
No console Google Cloud , acesse a página do Cloud Run.
Selecione Filtrar serviços > Tipo de implantação > Função. Isso filtra a lista de serviços para mostrar apenas funções.
Clique no nome da função.
A página Detalhes do serviço é aberta e mostra as métricas do serviço.
Clique na guia Registros.
Você vai encontrar uma entrada de registro semelhante a
POST 200 146 B 5 ms Google-Cloud-Scheduler https://FUNCTION_NAME