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, usamos os seguintes componentes faturáveis do Google Cloud:

  • Cloud Functions
  • Pub/Sub
  • Cloud Scheduler

Para gerar uma estimativa de custo baseada na projeção de uso deste tutorial, use a calculadora de preços. Novos usuários do Google Cloud podem estar qualificados 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 "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.