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

Este tutorial mostra como usar o Cloud Scheduler e o Pub/Sub para acionar uma função de nuvem. Agendar a execução de uma função do Cloud Functions é um caso de uso comum para o Cloud Scheduler. Você vai:

  • criar uma função de nuvem simples que assine um tópico Pub/Sub;
  • criar um tópico Pub/Sub para acionar essa função;
  • criar um job do Cloud Scheduler que chame o gatilho 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:

  • Ter um projeto do Google Cloud com o faturamento ativado.

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

  • A API do Cloud Scheduler e a API 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 com base no uso previsto.

Usuários novos 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 do Cloud Functions

  2. Clique no botão Ativar API.

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

    image

  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 resto, incluindo o código index.js e package.json de amostra.

  8. Clique em Criar

Criar um job do Cloud Scheduler

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

    Acessar a página do Cloud Scheduler

  2. Clique no botão Criar job.

  3. Se necessário, selecione uma região para a sua tarefa.

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

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

    * * * * *
    

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

  6. Selecione seu fuso horário.

  7. Selecione Pub/Sub na lista suspensa Destino.

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

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

  10. Clique em Criar

Agora você tem um cron job que envia uma mensagem para o tópico 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 do 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.

    image

Parabéns! Você acabou de usar o console para ver os resultados da execução de um cron job que envia uma mensagem para 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 do Cloud Functions

  2. Clique no nome da função.

    image

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

    image

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

  4. Clique em Ver registros.

    image

  5. Veja os detalhes sobre a chamada.

    image

Limpar

Para evitar cobranças dos recursos usados neste tutorial na conta do Google Cloud, siga estas etapas:

Exclua o job do Cloud Scheduler

  1. Vá para a página Cloud Scheduler no Cloud Console.

    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. Vá para a página Cloud Pub/Sub no Cloud Console.

    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 Cloud.

    Acessar a página do 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 Cloud, acesse a página Gerenciar recursos:

    Acessar a página "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir .
  3. Na caixa de diálogo, digite o ID do projeto e clique em Encerrar para excluí-lo.