Acesse mais de 700 laboratórios e cursos

Processamento de dados de streaming: publicar dados de streaming no Pub/Sub

Laboratório 2 horas universal_currency_alt 5 créditos show_chart Introdutório
info Este laboratório pode incorporar ferramentas de IA para ajudar no seu aprendizado.
Acesse mais de 700 laboratórios e cursos

Visão geral

O Google Cloud Pub/Sub é um serviço de mensagens em tempo real totalmente gerenciado que permite o envio e o recebimento de mensagens entre aplicativos independentes. Use o serviço para publicar e se inscrever no recebimento de dados de várias fontes, depois use o Google Cloud Dataflow para entender seus dados, tudo em tempo real.

Neste laboratório, você vai simular os dados do sensor de tráfego em um tópico do Pub/Sub para que depois sejam processados pelo pipeline do Dataflow antes de finalmente irem para uma tabela do BigQuery para análise.

Observação: durante a criação deste módulo, os pipelines de streaming não estavam disponíveis no SDK do Dataflow para Python. Por isso, os laboratórios de streaming estão escritos em Java.

Objetivos

Neste laboratório, você realizará as seguintes tarefas:

  • Criar um tópico e uma assinatura do Pub/Sub
  • Simular os dados do sensor de tráfego no Pub/Sub

Configuração

Para cada laboratório, você recebe um novo projeto do Google Cloud e um conjunto de recursos por um determinado período e sem custos financeiros.

  1. Faça login no Qwiklabs em uma janela anônima.

  2. Confira o tempo de acesso do laboratório (por exemplo, 1:15:00) e finalize todas as atividades nesse prazo.
    Não é possível pausar o laboratório. Você pode reiniciar o desafio, mas vai precisar refazer todas as etapas.

  3. Quando tudo estiver pronto, clique em Começar o laboratório.

  4. Anote as credenciais (Nome de usuário e Senha). É com elas que você vai fazer login no Console do Google Cloud.

  5. Clique em Abrir Console do Google.

  6. Clique em Usar outra conta, depois copie e cole as credenciais deste laboratório nos locais indicados.
    Se você usar outras credenciais, vai receber mensagens de erro ou cobranças.

  7. Aceite os termos e pule a página de recursos de recuperação.

Tarefa 1: preparação

Você vai executar o simulador do sensor na VM de treinamento. Para isso, serão necessários vários arquivos e algumas configurações do ambiente.

Abra o terminal SSH e acesse a VM de treinamento

  1. No console, acesse o Menu de navegação (Ícone do menu de navegação) e clique em Compute Engine > Instâncias de VM.
  2. Encontre a linha com a instância training-vm.
  3. À direita, na coluna Conectar, clique em SSH para abrir uma janela de terminal.
  4. Neste laboratório, você adicionará comandos da CLI em training-vm.

Verifique se a inicialização foi concluída

  • A instância training-vm está instalando alguns softwares em segundo plano. Para confirmar que as instalações foram concluídas, verifique o conteúdo do novo diretório:
ls /training

Se a resposta ao comando de lista (Is) for parecida com a imagem abaixo, a configuração estará pronta. Caso a lista não esteja completa, espere alguns minutos e tente novamente. Observação: pode levar de 2 a 3 minutos para todas as ações em segundo plano serem concluídas.

Resposta ao comando ls

Faça o download do repositório de código

  • Agora, faça o download de um repositório de código para usar neste laboratório:
git clone https://github.com/GoogleCloudPlatform/training-data-analyst

Identifique um projeto

Você definirá a variável de ambiente $DEVSHELL_PROJECT_ID que contém o ID do projeto do Google Cloud necessário para acessar recursos faturáveis.

  1. No console, acesse o Menu de navegação (Ícone do menu de navegação) e clique em Página inicial. No painel que contém as informações do projeto, você verá o ID do projeto. Você também encontra essa informação na guia "Qwiklabs", em "Detalhes da conexão", como ID do projeto do GCP.
  2. No terminal SSH da training_vm, defina a variável de ambiente DEVSHELL_PROJECT_ID e exporte-a para uso com outros shells. O comando a seguir recebe o ID do projeto ativo no ambiente do Google Cloud:
export DEVSHELL_PROJECT_ID=$(gcloud config get-value project)

Tarefa 2: criar um tópico e uma assinatura do Cloud Pub/Sub.

  1. No terminal SSH da training_vm, navegue até o diretório deste laboratório:
cd ~/training-data-analyst/courses/streaming/publish

Use o comando gcloud para confirmar se o serviço Pub/Sub está acessível e funcionando

  1. Crie o tópico e publique uma mensagem simples:
gcloud pubsub topics create sandiego
  1. Publique uma mensagem simples:
gcloud pubsub topics publish sandiego --message "hello"
  1. Crie uma assinatura para o tópico:
gcloud pubsub subscriptions create --topic sandiego mySub1
  1. Receba a primeira mensagem que foi publicada no seu tópico:
gcloud pubsub subscriptions pull --auto-ack mySub1

Você vê algum resultado? Se não, por quê?

  1. Tente publicar outra mensagem e usar a assinatura para recebê-la:
gcloud pubsub topics publish sandiego --message "hello again" gcloud pubsub subscriptions pull --auto-ack mySub1

Você recebeu alguma resposta desta vez?

Saída:

Data: Hello, Message_ID: 38138015771622, Attributes: (blank)

Clique em Verificar meu progresso para conferir o objetivo. Crie um tópico e uma assinatura do Pub/Sub

  1. No terminal SSH da training_vm, cancele sua assinatura:
gcloud pubsub subscriptions delete mySub1

Tarefa 3: simular os dados do sensor de tráfego no Pub/Sub

  1. Use o script do Python para simular dados do sensor de tráfego de San Diego. não faça alterações no código.
cd ~/training-data-analyst/courses/streaming/publish nano send_sensor_data.py

Analise a função de simulação. Com ela, o script se comporta como se os sensores de tráfego estivessem enviando dados em tempo real para o Pub/Sub. O parâmetro "speedFactor" determina a velocidade da simulação. Para sair do arquivo, pressione Ctrl+X.

  1. Faça o download do conjunto de dados da simulação de tráfego:
./download_data.sh

Simule os dados do sensor de streaming

  1. Execute send_sensor_data.py:
./send_sensor_data.py --speedFactor=60 --project $DEVSHELL_PROJECT_ID

Esse comando simula os dados do sensor enviando os dados registrados do sensor por meio de mensagens do Pub/Sub. O script extrai o tempo original dos dados do sensor e faz uma pausa entre o envio de cada mensagem para simular o tempo real dos dados. O valor de speedFactor altera proporcionalmente o tempo entre as mensagens. Assim, um speedFactor de 60 significa "60 vezes mais rápido" do que o tempo registrado. Ele enviará aproximadamente uma hora de dados a cada 60 segundos.

Mantenha esse terminal aberto e o simulador em execução.

Tarefa 4: confirmar o recebimento das mensagens

Abra um segundo terminal SSH e conecte-se à VM de treinamento

  1. No console, acesse o Menu de navegação (Ícone do menu de navegação) e clique em Compute Engine > Instâncias de VM.
  2. Encontre a linha com a instância training-vm.
  3. À direita, em Conectar, clique em SSH para abrir uma nova janela do terminal.
  4. Volte para o diretório em que você estava trabalhando:
cd ~/training-data-analyst/courses/streaming/publish
  1. Crie uma assinatura para o tópico e confirme se as mensagens estão sendo recebidas. Observação: talvez você precise emitir o comando "pull" mais de uma vez até começar a ver as mensagens.
gcloud pubsub subscriptions create --topic sandiego mySub2 gcloud pubsub subscriptions pull --auto-ack mySub2
  1. Confira se aparece uma mensagem com informações do sensor de tráfego.

Saída

  1. Cancele essa assinatura:
gcloud pubsub subscriptions delete mySub2
  1. Feche o segundo terminal:
exit

Pare o simulador do sensor

  1. Volte para o primeiro terminal.
  2. Pressione Ctrl+C para interromper o editor.
  3. Feche o primeiro terminal:
exit

Finalize o laboratório

Clique em Terminar o laboratório após a conclusão. O Google Cloud Ensina remove os recursos usados e limpa a conta por você.

Você vai poder avaliar sua experiência no laboratório. Basta selecionar o número de estrelas, digitar um comentário e clicar em Enviar.

O número de estrelas indica o seguinte:

  • 1 estrela = muito insatisfeito
  • 2 estrelas = insatisfeito
  • 3 estrelas = neutro
  • 4 estrelas = satisfeito
  • 5 estrelas = muito satisfeito

Feche a caixa de diálogo se não quiser enviar feedback.

Para enviar seu feedback, fazer sugestões ou correções, use a guia Suporte.

Copyright 2020 Google LLC. Todos os direitos reservados. Google e o logotipo do Google são marcas registradas da Google LLC. Todos os outros nomes de produtos e empresas podem ser marcas registradas das respectivas empresas a que estão associados.

Antes de começar

  1. Os laboratórios criam um projeto e recursos do Google Cloud por um período fixo
  2. Os laboratórios têm um limite de tempo e não têm o recurso de pausa. Se você encerrar o laboratório, vai precisar recomeçar do início.
  3. No canto superior esquerdo da tela, clique em Começar o laboratório

Usar a navegação anônima

  1. Copie o nome de usuário e a senha fornecidos para o laboratório
  2. Clique em Abrir console no modo anônimo

Fazer login no console

  1. Faça login usando suas credenciais do laboratório. Usar outras credenciais pode causar erros ou gerar cobranças.
  2. Aceite os termos e pule a página de recursos de recuperação
  3. Não clique em Terminar o laboratório a menos que você tenha concluído ou queira recomeçar, porque isso vai apagar seu trabalho e remover o projeto

Este conteúdo não está disponível no momento

Você vai receber uma notificação por e-mail quando ele estiver disponível

Ótimo!

Vamos entrar em contato por e-mail se ele ficar disponível

Um laboratório por vez

Confirme para encerrar todos os laboratórios atuais e iniciar este

Use a navegação anônima para executar o laboratório

Para executar este laboratório, use o modo de navegação anônima ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e a conta de estudante, o que poderia causar cobranças extras na sua conta pessoal.