arrow_back

Google Cloud Pub/Sub: Qwik Start - Linha de comando

Google Cloud Pub/Sub: Qwik Start - Linha de comando

40 minutos No cost

GSP095

Laboratórios autoguiados do Google Cloud

Visão geral

O Google Cloud Pub/Sub é um serviço de mensagens para trocar dados de eventos entre aplicativos e serviços. Com a separação de remetentes e destinatários, ele permite uma comunicação segura e altamente disponível entre aplicativos criados de modo independente. O Google Cloud Pub/Sub envia mensagens duráveis de baixa latência e é geralmente usado por desenvolvedores para a implantação de fluxos de trabalho assíncronos, distribuição de notificações de eventos e streaming de dados a partir de vários processos ou dispositivos.

O que você vai aprender

Neste laboratório, você vai aprender:

  • os conceitos básicos do Pub/Sub;
  • a criar, excluir e listar tópicos do Pub/Sub;
  • a criar, excluir e listar assinaturas do Pub/Sub;
  • a publicar mensagens em um tópico;
  • a usar um assinante de pull para gerar mensagens individuais do tópico;
  • a usar um assinante de pull com uma flag para gerar várias mensagens.

Pré-requisitos

Este é um laboratório de nível introdutório. Ele é indicado para pessoas com pouca ou nenhuma experiência com o Pub/Sub. Neste laboratório, você aprenderá os requisitos básicos sobre como configurar e usar esse serviço do Google Cloud.

Antes de realizar este laboratório, verifique seu nível de conhecimento do Pub/Sub. Veja na lista a seguir alguns laboratórios mais complexos que você pode fazer para aplicar seu conhecimento do Pub/Sub a diferentes serviços de nuvem e casos de uso.

Quando tudo estiver pronto, role a tela para baixo e execute as etapas a seguir para configurar seu ambiente de laboratório.

Configuração e requisitos

Antes de clicar no botão Start Lab

Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é iniciado quando você clica em Começar o laboratório e mostra por quanto tempo os recursos do Google Cloud vão ficar disponíveis.

Este laboratório prático permite que você realize as atividades em um ambiente real de nuvem, não em uma simulação ou demonstração. Você vai receber novas credenciais temporárias para fazer login e acessar o Google Cloud durante o laboratório.

Confira os requisitos para concluir o laboratório:

  • Acesso a um navegador de Internet padrão (recomendamos o Chrome).
Observação: 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.
  • Tempo para concluir o laboratório---não se esqueça: depois de começar, não será possível pausar o laboratório.
Observação: não use seu projeto ou conta do Google Cloud neste laboratório para evitar cobranças extras na sua conta.

Agora que você começou seu laboratório, faça login no console do Google Cloud Shell e, em seguida, inicie a ferramenta de linha de comando.

Como iniciar seu laboratório e fazer login no console do Google Cloud

  1. Clique no botão Começar o laboratório. Se for preciso pagar, você verá um pop-up para selecionar a forma de pagamento. No painel Detalhes do laboratório à esquerda, você verá o seguinte:

    • O botão Abrir Console do Cloud
    • Tempo restante
    • As credenciais temporárias que você vai usar neste laboratório
    • Outras informações se forem necessárias
  2. Clique em Abrir Console do Google. O laboratório ativa recursos e depois abre outra guia com a página Fazer login.

    Dica: coloque as guias em janelas separadas lado a lado.

    Observação: se aparecer a caixa de diálogo Escolher uma conta, clique em Usar outra conta.
  3. Caso seja preciso, copie o Nome de usuário no painel Detalhes do laboratório e cole esse nome na caixa de diálogo Fazer login. Clique em Avançar.

  4. Copie a Senha no painel Detalhes do laboratório e a cole na caixa de diálogo Olá. Clique em Avançar.

    Importante: você precisa usar as credenciais do painel à esquerda. Não use suas credenciais do Google Cloud Ensina. Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
  5. Acesse as próximas páginas:

    • Aceite os Termos e Condições.
    • Não adicione opções de recuperação nem autenticação de dois fatores (porque essa é uma conta temporária).
    • Não se inscreva em testes gratuitos.

Depois de alguns instantes, o console do GCP vai ser aberto nesta guia.

Observação: para ver uma lista dos produtos e serviços do Google Cloud, clique no Menu de navegação no canto superior esquerdo. Ícone do menu de navegação

Ativar o Cloud Shell

O Cloud Shell é uma máquina virtual com várias ferramentas de desenvolvimento. Ele tem um diretório principal permanente de 5 GB e é executado no Google Cloud. O Cloud Shell oferece acesso de linha de comando aos recursos do Google Cloud.

  1. Clique em Ativar o Cloud Shell Ícone "Ativar o Cloud Shell" na parte de cima do console do Google Cloud.

Depois de se conectar, vai notar que sua conta já está autenticada, e que o projeto está configurado com seu PROJECT_ID. A saída contém uma linha que declara o projeto PROJECT_ID para esta sessão:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

gcloud é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.

  1. (Opcional) É possível listar o nome da conta ativa usando este comando:
gcloud auth list
  1. Clique em Autorizar.

  2. A saída será parecida com esta:

Saída:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Opcional) É possível listar o ID do projeto usando este comando:
gcloud config list project

Saída:

[core] project = <project_ID>

Exemplo de saída:

[core] project = qwiklabs-gcp-44776a13dea667a6 Observação: para conferir a documentação completa da gcloud, acesse o guia com informações gerais sobre a gcloud CLI no Google Cloud.

Noções básicas do Pub/Sub

Conforme já descrito, o Cloud Pub/Sub é um serviço de mensagens global assíncrono. Três termos são recorrentes no Pub/Sub: tópicos, publicação e assinatura.

  • Um tópico é uma string compartilhada que permite que os aplicativos se conectem uns aos outros em um thread comum.

  • Os editores enviam (ou publicam) mensagens em um tópico do Cloud Pub/Sub.

  • Os assinantes fazem a "assinatura" de um tópico em que irão receber mensagens da assinatura ou configurar webhooks para assinaturas via push. Os assinantes precisam confirmar cada mensagem em um período configurável.

Em resumo, um produtor publica mensagens em um tópico, e um cliente assina um tópico para receber as mensagens publicadas nele.

Tarefa 1: Tópicos do Pub/Sub

O Pub/Sub vem pré-instalado no Google Cloud Shell. Não é necessário fazer qualquer configuração ou instalação para começar a usar o serviço.

  1. Execute o seguinte comando para criar um tópico chamado myTopic:
gcloud pubsub topics create myTopic

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se você concluiu a tarefa, receberá uma pontuação de avaliação.

Crie um tópico do Pub/Sub.
  1. Para uma boa avaliação, crie mais dois tópicos: um chamado Test1, e outro chamado Test2:
gcloud pubsub topics create Test1 gcloud pubsub topics create Test2
  1. Para ver os três tópicos que você criou, execute o seguinte comando:
gcloud pubsub topics list

A saída será parecida com esta:

name: projects/qwiklabs-gcp-3450558d2b043890/topics/myTopic --- name: projects/qwiklabs-gcp-3450558d2b043890/topics/Test2 --- name: projects/qwiklabs-gcp-3450558d2b043890/topics/Test1
  1. Hora de fazer a limpeza. Execute os comandos a seguir para excluir Test1 e Test2:
gcloud pubsub topics delete Test1 gcloud pubsub topics delete Test2
  1. Execute o comando gcloud pubsub topics list mais uma vez para verificar se os tópicos foram excluídos:
gcloud pubsub topics list

A seguinte saída será exibida:

--- name: projects/qwiklabs-gcp-3450558d2b043890/topics/myTopic

Tarefa 2: Assinaturas do Pub/Sub

Agora que você já sabe como criar, visualizar e excluir tópicos, vamos falar das assinaturas.

  1. Execute o seguinte comando para criar uma assinatura chamada mySubscription do tópico myTopic:
gcloud pubsub subscriptions create --topic myTopic mySubscription

Teste a tarefa concluída

Clique em Verificar meu progresso para conferir a tarefa realizada. Se você concluiu a tarefa, receberá uma pontuação de avaliação.

Crie uma assinatura do Pub/Sub.
  1. Adicione mais duas assinaturas a myTopic. Execute os seguintes comandos para fazer as assinaturas Test1 e Test2:
gcloud pubsub subscriptions create --topic myTopic Test1 gcloud pubsub subscriptions create --topic myTopic Test2
  1. Execute o comando a seguir para listar as assinaturas de myTopic:
gcloud pubsub topics list-subscriptions myTopic

A saída será parecida com esta:

--- projects/qwiklabs-gcp-3450558d2b043890/subscriptions/Test2 --- projects/qwiklabs-gcp-3450558d2b043890/subscriptions/Test1 --- projects/qwiklabs-gcp-3450558d2b043890/subscriptions/mySubscription

Teste seu conhecimento

Responda às perguntas de múltipla escolha abaixo para reforçar sua compreensão dos conceitos abordados neste laboratório. Use tudo o que você aprendeu até aqui.

  1. Exclua as assinaturas Test1 e Test2. Execute os comandos a seguir:
gcloud pubsub subscriptions delete Test1 gcloud pubsub subscriptions delete Test2
  1. Confira se as assinaturas Test1 e Test2 foram excluídas. Execute o comando list-subscriptions mais uma vez:
gcloud pubsub topics list-subscriptions myTopic

A seguinte saída será exibida:

--- projects/qwiklabs-gcp-3450558d2b043890/subscriptions/mySubscription

Tarefa 3: Como publicar e receber uma mensagem no Pub/Sub

Em seguida, você verá como publicar uma mensagem em um tópico do Pub/Sub.

  1. Execute o comando a seguir para publicar a mensagem "hello" no tópico que você criou anteriormente (myTopic):
gcloud pubsub topics publish myTopic --message "Hello"
  1. Publique mais algumas mensagens em myTopic. Execute os comandos a seguir substituindo <YOUR NAME> pelo seu nome e <FOOD> por alguma comida de que você gosta:
gcloud pubsub topics publish myTopic --message "Publisher's name is <YOUR NAME>" gcloud pubsub topics publish myTopic --message "Publisher likes to eat <FOOD>" gcloud pubsub topics publish myTopic --message "Publisher thinks Pub/Sub is awesome"

Em seguida, use o comando pull para receber as mensagens do seu tópico. Esse comando é baseado em assinaturas. Isso significa que ele deve funcionar normalmente, já que você configurou a assinatura mySubscription do tópico myTopic.

  1. Use o seguinte comando para receber as mensagens que você acabou de publicar no tópico do Pub/Sub:
gcloud pubsub subscriptions pull mySubscription --auto-ack

A saída será parecida com esta:

Tabela de três colunas com estes títulos: Data, Message_ID e Attributes. A coluna Data exibe o seguinte: Publisher likes to eat <FOOD>.

O que está acontecendo aqui? Você publicou quatro mensagens no seu tópico, mas apenas uma foi enviada.

Agora é um momento importante para entender alguns recursos do comando pull que confundem os desenvolvedores:

  • Usar o comando "pull" sem nenhuma flag gerará apenas uma mensagem, mesmo que você assine um tópico que tenha mais informações.
  • Após o envio de uma mensagem individual a partir de um comando "pull" com base em assinatura, você não poderá acessar essa mensagem novamente com o comando "pull".
  1. Para ver o problema mencionado no segundo marcador na prática, execute o último comando por mais três vezes. Você verá que ele gerará as outras mensagens que você publicou antes.

  2. Agora, execute o comando pela 4ª vez. Você verá a seguinte saída (já que não havia mais nenhuma a ser retornada):

gcpstaging20394_student@cloudshell:~ (qwiklabs-gcp-3450558d2b043890)$ gcloud pubsub subscriptions pull mySubscription --auto-ack Listed 0 items.

Na seção final, você vai aprender a receber várias mensagens de um tópico com uma flag.

Tarefa 4: Como receber todas as mensagens de assinaturas no Pub/Sub

Como você recebeu todas as mensagens do seu tópico no último exemplo, publique mais algumas mensagens em myTopic.

  1. Execute os comandos a seguir:
gcloud pubsub topics publish myTopic --message "Publisher is starting to get the hang of Pub/Sub" gcloud pubsub topics publish myTopic --message "Publisher wonders if all messages will be pulled" gcloud pubsub topics publish myTopic --message "Publisher will have to test to find out"
  1. Adicione uma flag ao comando para enviar todas as mensagens em uma solicitação.

Pode ser que você não tenha percebido, mas está usando uma flag o tempo todo. A parte --auto-ack do comando pull é uma flag que formata as mensagens nas caixas organizadas onde você encontra as mensagens recebidas.

A limit é outra flag que define um limite máximo para o número de mensagens a receber.

  1. Espere um minuto para que os tópicos sejam criados. Execute o comando "pull" com a flag limit:
gcloud pubsub subscriptions pull mySubscription --auto-ack --limit=3

A saída deve corresponder ao seguinte:

Tabela de três colunas com estes títulos: Data, Message_ID e Attributes. A coluna Data tem três linhas de dados.

Agora você sabe como adicionar flags a um comando do Pub/Sub para enviar um grupo maior de mensagens. Você está no caminho certo para se tornar um especialista no Pub/Sub.

Parabéns!

Neste laboratório, você aprendeu os conceitos básicos de tópicos, assinaturas, o comando "pull" e as flags do Pub/Sub.

Termine a Quest

Este laboratório autoguiado faz parte da Quest Baseline: Infrastructure. Uma Quest é uma série de laboratórios relacionados que formam um programa de aprendizado. Ao concluir uma Quest, você ganha um selo como reconhecimento da sua conquista. É possível publicar os selos e incluir um link para eles no seu currículo on-line ou nas redes sociais. Inscreva-se nesta Quest e receba crédito de conclusão imediatamente. Consulte o catálogo do Google Cloud Ensina para ver todas as Quests disponíveis.

Comece o próximo laboratório

Este laboratório faz parte de uma série chamada Qwik Starts. Ela foi desenvolvida para apresentar a você alguns dos recursos disponíveis no Google Cloud. Pesquise "Qwik Starts" no catálogo de laboratórios para encontrar algum que seja do seu interesse.

Treinamento e certificação do Google Cloud

Esses treinamentos ajudam você a aproveitar as tecnologias do Google Cloud ao máximo. Nossas aulas incluem habilidades técnicas e práticas recomendadas para ajudar você a alcançar rapidamente o nível esperado e continuar sua jornada de aprendizado. Oferecemos treinamentos que vão do nível básico ao avançado, com opções de aulas virtuais, sob demanda e por meio de transmissões ao vivo para que você possa encaixá-las na correria do seu dia a dia. As certificações validam sua experiência e comprovam suas habilidades com as tecnologias do Google Cloud.

Manual atualizado em 25 de maio de 2023

Laboratório testado em 25 de maio de 2023

Copyright 2024 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.