O serviço Pub/Sub permite que os aplicativos troquem mensagens de maneira confiável, rápida e assíncrona. Para que isso aconteça, um produtor de dados publica uma mensagem em um tópico do Pub/Sub. Depois, um cliente assina o tópico para então começar a consumir as mensagens da assinatura. O Pub/Sub preserva as mensagens que não puderam ser entregues de maneira confiável por até sete dias. Veja nesta página como começar a publicar mensagens com o Pub/Sub usando bibliotecas de cliente.
Antes de começar
-
Faça login na sua conta do Google.
Se você ainda não tiver uma, inscreva-se.
-
Configure um projeto do Console do Cloud.
Clique para:
- Crie ou selecione um projeto.
- ativar a API Pub/Sub para esse projeto;
- criar uma conta de serviço;
- fazer o download de uma chave privada como JSON.
É possível visualizar e gerenciar esses recursos a qualquer momento no Console do Cloud.
-
Defina a variável de ambiente
GOOGLE_APPLICATION_CREDENTIALS
como o caminho do arquivo JSON que contém a chave da conta de serviço. Essa variável só se aplica à sessão de shell atual. Dessa maneira, se você abrir uma nova sessão, defina a variável novamente. - Instale e inicialize o SDK do Cloud..
Como instalar bibliotecas de cliente
Os exemplos a seguir mostram como instalar as bibliotecas de cliente:
Python
Para mais informações sobre a configuração do ambiente de desenvolvimento Python, consulte o Guia de configuração do ambiente de desenvolvimento Python.
# ensure that you are using virtualenv
# as described in the python dev setup guide
pip install --upgrade google-cloud-pubsub
C++
Para mais informações sobre como instalar a biblioteca C++, consulte o README
do GitHub.
C#
Install-Package Google.Cloud.PubSub.V1 -Pre
Go
go get -u cloud.google.com/go/pubsub
Java
Se você estiver usando o Maven,
adicione o código abaixo ao arquivo pom.xml
. Para mais informações sobre
BOMs, consulte BOM das bibliotecas do Google Cloud Platform.
Se você estiver usando o Gradle, adicione isto às dependências:
Se você estiver usando o sbt, adicione o seguinte às suas dependências:
Caso você esteja usando o IntelliJ ou o Eclipse, poderá adicionar bibliotecas de cliente ao seu projeto usando estes plug-ins de ambiente de desenvolvimento integrado:
Os plug-ins também oferecem outras funcionalidades, como gerenciamento de chaves de contas de serviço. Consulte a documentação de cada plug-in para mais detalhes.
Node.js
npm install --save @google-cloud/pubsub
PHP
composer require google/cloud-pubsub
Ruby
gem install google-cloud-pubsub
Como criar um tópico e uma assinatura
Depois de criar um tópico, é possível assiná-lo ou publicar nele.
Use o comando gcloud pubsub topics create para criar um tópico:
gcloud pubsub topics create my-topic
Use o comando gcloud pubsub subscriptions create para criar uma assinatura. Somente mensagens publicadas no tópico após a criação da assinatura estarão disponíveis para aplicativos do assinante.
gcloud pubsub subscriptions create my-sub --topic my-topic
Para mais informações sobre como nomear tópicos e assinaturas, consulte Nomes dos recursos.
Como publicar mensagens
Nos exemplos a seguir, use my-topic
para o ID do tópico.
Python
C++
C#
Go
Java
Node.js
PHP
Ruby
Receber mensagens
Configure um assinante para solicitar as mensagens que você acabou de publicar. Todos os assinantes precisam confirmar o recebimento de cada mensagem dentro de um determinado período de tempo configurável. As mensagens não confirmadas serão reenviadas. Observe que o Pub/Sub de vez em quando entrega as mensagens mais de uma vez para garantir que todas as mensagens foram entregues ao assinante.
Nos exemplos a seguir, use my-sub
para o ID de assinatura.
Python
C++
C#
Go
Java
Node.js
PHP
Ruby
Como foi?
Limpar (opcional)
Para evitar que os recursos usados neste guia sejam cobrados na conta do Google Cloud Platform, use a linha de comando para excluir o tópico e a assinatura.
gcloud pubsub subscriptions delete my-sub gcloud pubsub topics delete my-topic
A seguir
Veja O que é o Pub/Sub?.
Para um exemplo de ponta a ponta, consulte Como criar um sistema do Pub/Sub.
Para outros casos de uso, consulte os tutoriais do Pub/Sub.
Para mais detalhes sobre a biblioteca cliente da sua linguagem preferida, consulte Bibliotecas clientes.
Para mais sobre os conceitos discutidos nesta página, consulte os guias de Editor e Assinante.