Como usar Pub/Sub para acionar uma função do Cloud Functions

Neste tutorial, mostramos como usar o Cloud Scheduler e o Cloud Pub/Sub para acionar uma função do Cloud Functions. Agendar a execução de uma função do Cloud Functions é um caso de uso comum para o Cloud Scheduler. Você poderá:

  • criar uma função simples do Cloud Function que assine um tópico do Cloud Pub/Sub;
  • criar um tópico do Cloud Pub/Sub para acionar essa função;
  • criar um job do Cloud Scheduler que chame o acionador do Cloud Pub/Sub;
  • executar o job do Cloud Scheduler;
  • verificar se a operação foi bem-sucedida.

Antes de começar

Para este tutorial, supomos que você já tenha concluído o Guia de início rápido do Cloud Scheduler. Como resultado, você tem as seguintes ferramentas e recursos disponíveis:

  • Um projeto do GCP com faturamento ativado.

  • Um aplicativo do App Engine localizado em um dos locais compatíveis com ele.

  • A API do Cloud Scheduler e a API do Cloud Pub/Sub ativadas no projeto. Ative a API Cloud Functions durante o tutorial.

Custos

Neste tutorial, são usados componentes do Cloud Platform que podem ser cobrados, incluindo:

  • Google Cloud Functions
  • Google Cloud Pub/Sub
  • Google Cloud Scheduler

Use a calculadora de preços para gerar uma estimativa de custo baseada na projeção de uso.

Novos usuários do Cloud Platform podem se qualificar para uma avaliação gratuita.

Criar uma função do Cloud Functions:

  1. Acesse a página Cloud Functions no console:

    Acessar a página Cloud Functions

  2. Clique no botão Ativar API.

  3. Clique no botão Criar função.

    imagem

  4. Dê um nome à sua função. Aceite a alocação de memória padrão.

  5. Selecione Cloud Pub/Sub na lista suspensa Acionador.

  6. Selecione um tópico atual na lista suspensa ou use o pop-up Criar novo tópico para criar um novo. Sua função agora está inscrita no tópico. Anote o nome do tópico, porque você precisará dele mais tarde.

  7. Aceite os padrões para todo o restante, incluindo a amostra index.js e o código package.json.

  8. Clique em Criar

Criar um job do Cloud Scheduler

  1. Acesse a página Cloud Scheduler no Console.

    Acessar a página "Cloud Scheduler"

  2. Clique no botão Criar job.

  3. Dê um nome ao job e, se preferir, inclua uma descrição.

  4. Especifique a frequência do job usando o formato unix-cron.

    * * * * *
    

    Consulte mais informações em Como configurar programações de cron job.

  5. Selecione seu fuso horário.

  6. Selecione Pub/Sub na lista suspensa Destino.

  7. Digite o nome do Tópico selecionado acima.

  8. Adicione uma string curta de Payload a ser enviada ao destino.

  9. Clique em Criar

Você acaba de criar um cron job que envia uma mensagem ao tópico do Cloud Pub/Sub a cada minuto. Sua função do Cloud Functions está inscrita nesse tópico.

Vamos executá-lo.

Executar o job

  1. Abra a página do console do Cloud Scheduler.

    Acessar a página Cloud Scheduler

  2. Clique no botão Executar agora.

    A primeira execução do primeiro job criado em um projeto pode demorar alguns minutos devido à configuração necessária. Portanto, talvez você precise esperar um pouco.

  3. Observe a coluna Resultado.

    imagem

Parabéns! Você acabou de usar o console para ver os resultados da execução de um cron job que envia uma mensagem para o Cloud Pub/Sub. Em seguida, você aprenderá a verificar se a função do Cloud Functions foi realmente executada.

Verificar os resultados no Cloud Functions:

Para verificar se sua função do Cloud Functions está sendo acionada corretamente pelo cron job, faça o seguinte:

  1. Acesse a página Cloud Functions no console:

    Acessar a página Cloud Functions

  2. Clique no nome da função.

    imagem

  3. A página Detalhes da função é aberta. Verifique as chamadas.

    imagem

    Parabéns! Sua função foi executada.

  4. Clique em Ver registros.

    imagem

  5. Veja os detalhes sobre a chamada.

    imagem

Fazer limpeza

Para evitar cobranças na sua conta do GCP pelos recursos usados neste tutorial, faça o seguinte:

Exclua o job do Cloud Scheduler

  1. Acesse a página do Cloud Scheduler no Console do GCP.

    Acessar a página do Scheduler

  2. Clique na caixa de seleção ao lado do seu job.

  3. Clique no botão Excluir na parte superior da página e confirme.

Exclua o tópico Pub/Sub

  1. Acesse a página do Cloud Pub/Sub no Console do GCP.

    Acessar a página do Pub/Sub

  2. Clique na caixa de seleção ao lado do tópico.

  3. Clique em Excluir na parte superior da página e confirme.

Exclua a função do Cloud Functions

  1. Acesse a página Cloud Functions no Console do GCP.

    Acessar a página Cloud Functions

  2. Clique na caixa de seleção ao lado da função.

  3. Clique no botão Excluir na parte superior da página e confirme.

Exclua o projeto

Se você criou um projeto apenas para este tutorial.

  1. No Console do GCP, acesse a página "Projetos".

    Acessar a página Projetos

  2. Na lista de projetos, selecione um e clique em Excluir projeto.
  3. Na caixa de diálogo, digite o código do projeto e clique em Encerrar para excluí-lo.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Cloud Scheduler