GSP095

Visão geral
O 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 Pub/Sub envia mensagens duráveis de baixa latência e costuma ser 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.
Conteúdo
Neste laboratório, você vai aprender a:
- Criar, excluir e listar tópicos e assinaturas do Pub/Sub
- Publicar mensagens em um tópico
- Como usar um assinante de pull
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.
Configuração e requisitos
Antes de clicar no botão Começar o Laboratório
Leia estas instruções. Os laboratórios são cronometrados e não podem ser pausados. O timer é ativado quando você clica em Iniciar 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, e 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 (recomendado) ou uma janela anônima do navegador. Isso evita conflitos entre sua conta pessoal e de estudante, o que poderia causar cobranças extras na sua conta pessoal.
- Tempo para concluir o laboratório: não se esqueça que, depois de começar, não será possível pausar o laboratório.
Observação: use apenas a conta de estudante neste laboratório. Se usar outra conta do Google Cloud, você poderá receber cobranças nela.
Como iniciar seu laboratório e fazer login no console do Google Cloud
-
Clique no botão Começar o laboratório. Se for preciso pagar por ele, uma caixa de diálogo vai aparecer para você selecionar a forma de pagamento.
No painel Detalhes do Laboratório, à esquerda, você vai encontrar o seguinte:
- O botão Abrir Console do Google Cloud
- O tempo restante
- As credenciais temporárias que você vai usar neste laboratório
- Outras informações, se forem necessárias
-
Se você estiver usando o navegador Chrome, clique em Abrir console do Google Cloud ou clique com o botão direito do mouse e selecione Abrir link em uma janela anônima.
O laboratório ativa os recursos e depois abre a página Fazer Login em outra guia.
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.
-
Se necessário, copie o Nome de usuário abaixo e cole na caixa de diálogo Fazer login.
{{{user_0.username | "Username"}}}
Você também encontra o nome de usuário no painel Detalhes do Laboratório.
-
Clique em Próxima.
-
Copie a Senha abaixo e cole na caixa de diálogo de Olá.
{{{user_0.password | "Password"}}}
Você também encontra a senha no painel Detalhes do Laboratório.
-
Clique em Próxima.
Importante: você precisa usar as credenciais fornecidas no laboratório, e não as da sua conta do Google Cloud.
Observação: se você usar sua própria conta do Google Cloud neste laboratório, é possível que receba cobranças adicionais.
-
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 Google Cloud será aberto nesta guia.
Observação: para acessar os produtos e serviços do Google Cloud, clique no Menu de navegação ou digite o nome do serviço ou produto no campo Pesquisar.
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.
-
Clique em Ativar o Cloud Shell
na parte de cima do console do Google Cloud.
-
Clique nas seguintes janelas:
- Continue na janela de informações do Cloud Shell.
- Autorize o Cloud Shell a usar suas credenciais para fazer chamadas de APIs do Google Cloud.
Depois de se conectar, você verá 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 {{{project_0.project_id | "PROJECT_ID"}}}
A gcloud
é a ferramenta de linha de comando do Google Cloud. Ela vem pré-instalada no Cloud Shell e aceita preenchimento com tabulação.
- (Opcional) É possível listar o nome da conta ativa usando este comando:
gcloud auth list
- Clique em Autorizar.
Saída:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- (Opcional) É possível listar o ID do projeto usando este comando:
gcloud config list project
Saída:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Observação: consulte a documentação completa da gcloud
no Google Cloud no guia de visão geral da gcloud CLI.
Noções básicas do Pub/Sub
Conforme descrito, o 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
Como o Pub/Sub vem pré-instalado no Cloud Shell, não é preciso fazer qualquer instalação ou configuração para começar a usar o serviço.
- 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.
- 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
- 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:
---
messageStoragePolicy:
allowedPersistenceRegions:
- us-central1
name: projects/qwiklabs-gcp-01-af5b4aaa2d32/topics/myTopic
---
messageStoragePolicy:
allowedPersistenceRegions:
- us-central1
name: projects/qwiklabs-gcp-01-af5b4aaa2d32/topics/Test1
---
messageStoragePolicy:
allowedPersistenceRegions:
- us-central1
name: projects/qwiklabs-gcp-01-af5b4aaa2d32/topics/Test2
- 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
- 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.
- 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.
- 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
- 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.
- Exclua as assinaturas
Test1
e Test2
. Execute os comandos a seguir:
gcloud pubsub subscriptions delete Test1
gcloud pubsub subscriptions delete Test2
- 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: Publicar e receber uma mensagem no Pub/Sub
Em seguida, você verá como publicar uma mensagem em um tópico do Pub/Sub.
- 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"
- 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
.
- 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:

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".
-
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.
-
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
.
- 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"
- 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.
- Espere um minuto para que os tópicos sejam criados. Execute o comando "pull" com a flag
limit
:
gcloud pubsub subscriptions pull mySubscription --limit=3
A saída deve corresponder ao seguinte:

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.
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 10 de março de 2025
Laboratório testado em 10 de março de 2025
Copyright 2025 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.