Este tutorial mostra como agendar uma função HTTP do Cloud Run segmentando um ponto final HTTP no Cloud Scheduler. Use uma função HTTP quando precisar que a sua função tenha um ponto final de URL e responda a pedidos HTTP, como para webhooks.
Em alternativa, se criou uma função CloudEvents, use acionadores de eventos do Eventarc para agendar a sua função de modo a responder a eventos no seu projeto. O Eventarc pode acionar mensagens num tópico do Pub/Sub, alterações num contentor do Cloud Storage e muito mais. Para mais informações, consulte Tipos de funções do Cloud Run.
O agendamento da execução de uma função do Cloud Run é um exemplo de utilização comum do Cloud Scheduler. Neste tutorial, vai:
Crie uma função HTTP do Cloud Run
Crie uma função HTTP acionada pelo Cloud Scheduler.
Na Google Cloud consola, aceda à página Cloud Run.
Clique em Escrever uma função.
Na secção Configurar, faça o seguinte:
- No campo Nome do serviço, introduza um nome para a função.
- Na lista Região, selecione uma região.
- Não modifique o idioma de tempo de execução predefinido.
Para autenticação, selecione Exigir autenticação.
Se estiver ao abrigo de uma política da organização de restrição de domínio que restringe as invocações não autenticadas para o seu projeto, tem de aceder ao serviço implementado conforme descrito em Testar serviços privados.
Para mais informações, consulte o artigo Autentique-se para a invocação.
Aceite as outras predefinições e clique em Criar.
Copie o URL HTTP da função.
Para mais informações, incluindo como implementar uma função do Cloud Run com o Terraform, consulte o artigo Implemente uma função do Cloud Run.
Crie uma tarefa do Cloud Scheduler
Crie uma tarefa do Cloud Scheduler que aciona uma ação através de HTTP.
Na Google Cloud consola, aceda à página Cloud Scheduler.
Clique em
Criar tarefa.Introduza um nome para a tarefa.
Na lista Região, selecione uma região.
Especifique a frequência da tarefa, usando um formato unix-cron:
30 16 * * 7
Para mais informações, consulte o artigo Formato de tarefa cron e fuso horário.
Na lista Fuso horário, selecione um fuso horário.
Clique em Continuar.
Na lista Tipo de destino, selecione HTTP.
No campo URL, introduza o URL HTTP da função que copiou anteriormente.
Na lista Cabeçalho de autorização, selecione Adicionar token OIDC.
Na lista Conta de serviço, selecione a conta de serviço que criou anteriormente.
No campo Público-alvo, introduza o URL HTTP da função que copiou anteriormente.
Clique em Criar.
Criou uma tarefa cron que executa a sua função do Cloud Run às 16:30 aos domingos.
Execute a sua tarefa do Cloud Scheduler
Agora, pode executar a tarefa que criou.
Na Google Cloud consola, aceda à página Cloud Scheduler.
Selecione a caixa de verificação da tarefa que criou e clique em Forçar execução.
Quando é invocado inicialmente, o primeiro trabalho criado num projeto pode demorar alguns minutos a configurar e executar.
Após a execução da tarefa, o Estado da última execução deve indicar
Success
.
Valide os resultados nas funções do Cloud Run
Pode verificar se a função do Cloud Run é acionada e executada com êxito pela tarefa cron.
Na Google Cloud consola, aceda à página Cloud Run.
Selecione Filtrar serviços > Tipo de implementação > Função. Isto filtra a lista de serviços para mostrar apenas funções.
Clique no nome da função.
É apresentada a página Detalhes do serviço, que apresenta as métricas de serviço.
Clique no separador Registos.
Deve ver uma entrada de registo semelhante a:
POST 200 146 B 5 ms Google-Cloud-Scheduler https://FUNCTION_NAME