Programar uma função do Cloud Run orientada a eventos

Neste tutorial, mostramos como acionar uma função do Cloud Run orientada a eventos usando o Cloud Scheduler e segmentando um tópico do Pub/Sub. Use uma função orientada a eventos quando ela precisar ser acionada diretamente em resposta a eventos no seu projeto Google Cloud , como mensagens em um tópico do Pub/Sub ou alterações em um bucket do Cloud Storage.

Também é possível programar uma função HTTP direcionando o endpoint HTTP da função. 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. 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:

  1. criar uma função simples do Cloud Run que assine um tópico do Pub/Sub;
  2. Crie um job do Cloud Scheduler que publique uma mensagem no tópico do Pub/Sub.
  3. executar o job do Cloud Scheduler;
  4. Verifique se a função do Cloud Run foi acionada pelo job do Cloud Scheduler.

Criar uma função do Cloud Run orientada a eventos

Crie uma função baseada em eventos que seja acionada diretamente em resposta a eventos no seu projeto Google Cloud . Neste caso, uma mensagem publicada em um tópico do Pub/Sub.

  1. No console Google Cloud , acesse a página Funções do Cloud Run.

    Acessar as funções do Cloud Run

  2. Clique em Criar função.

  3. Na seção Noções básicas, faça o seguinte:

    1. Na lista Ambiente, selecione 2ª geração.
    2. Insira um nome para a função.
    3. Na lista Região, selecione uma região.
  4. Na seção Gatilho, faça o seguinte:

    1. Na lista Tipo de gatilho, selecione Cloud Pub/Sub.
    2. Na lista Tópico do Cloud Pub/Sub, selecione um tópico existente ou clique em Criar um tópico para criar um. Anote o nome do tópico, porque você vai precisar dele em uma etapa posterior.
    3. Clique em Mais opções.

      O painel Gatilho do Eventarc é aberto.

  5. No painel Gatilho do Eventarc, faça o seguinte:

    1. Se for necessário permitir que o serviço do Pub/Sub crie os tokens de identidade necessários para invocar a função, clique em Conceder.
    2. Na lista Conta de serviço, selecione a conta de serviço que você criou anteriormente.
    3. Aceite os outros padrões.
    4. Clique em Salvar acionador.

      O painel Gatilho do Eventarc é fechado.

  6. Aceite os outros padrões e clique em Próxima.

  7. Não modifique o idioma de tempo de execução padrão e o código de amostra. O código não usa serviços de nuvem e não precisa de permissões extras ativadas. Clique em Implantar.

Criar um job do Cloud Scheduler

Crie um job do Cloud Scheduler com um destino do Pub/Sub.

  1. No console Google Cloud , acesse a página Cloud Scheduler.

    Acessar o Cloud Scheduler

  2. Clique em Criar job.

  3. Insira um nome para o job.

  4. Na lista Região, selecione uma região.

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

  6. Na lista Fuso horário, selecione um fuso horário.

  7. Clique em Continuar.

  8. Na lista Tipo de destino, selecione Pub/Sub.

  9. Selecione o tópico do Pub/Sub que você criou anteriormente.

  10. No campo Corpo da mensagem, insira uma string a ser enviada ao tópico de destino do Pub/Sub. Por exemplo: "Olá, mundo!"

  11. Clique em Criar.

Você criou um cron job que envia uma mensagem para o tópico do Pub/Sub às 16h30 aos domingos. Sua função do Cloud Run está inscrita nesse tópico.

Executar o job do Cloud Scheduler

Agora você pode executar o job que criou.

  1. No console Google Cloud , acesse a página do Cloud Scheduler.

    Acessar o Cloud Scheduler

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

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

  1. No console Google Cloud , acesse a página Funções do Cloud Run.

    Acessar as funções do Cloud Run

  2. Clique no nome da função.

    A página Detalhes da função é aberta, e o gráfico Invocações/Segundo mostra a primeira invocação da função.

  3. Clique na guia Registros.

    Você vai encontrar uma entrada de registro semelhante a Hello, YOUR_STRING!