Publicar e receber mensagens no Pub/Sub usando uma biblioteca de cliente
O serviço Pub/Sub permite que os aplicativos troquem mensagens de maneira confiável, rápida e assíncrona. Confira a seguir a sequência de eventos:
- Um produtor de dados publica uma mensagem em um tópico do Pub/Sub.
- Um cliente assinante cria uma assinatura nesse tópico e consome mensagens da assinatura.
É possível configurar um ambiente do Pub/Sub usando qualquer um seguintes métodos: console do Google Cloud, Cloud Shell, bibliotecas de cliente ou APIs REST. Esta página mostra como começar a publicar mensagens com o Pub/Sub usando bibliotecas de cliente.
O Pub/Sub oferece um conjunto de dados biblioteca de cliente. Por padrão, como neste guia de início rápido, recomendamos a biblioteca de cliente de alto nível.
Para seguir as instruções passo a passo desta tarefa diretamente no console do Google Cloud, clique em Orientação:
Antes de começar
- Faça login na sua conta do Google Cloud. Se você começou a usar o Google Cloud agora, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Crie ou selecione um projeto do Google Cloud.
-
Crie um projeto do Google Cloud:
gcloud projects create PROJECT_ID
Substitua
PROJECT_ID
por um nome para o projeto do Google Cloud que você está criando. -
Selecione o projeto do Google Cloud que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_ID
pelo nome do projeto do Google Cloud.
-
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative Pub/Sub API:
gcloud services enable pubsub.googleapis.com
-
Create local authentication credentials for your user account:
gcloud auth application-default login
-
Atribua os papéis à sua Conta do Google. Execute uma vez o seguinte comando para cada um dos seguintes papéis do IAM:
roles/pubsub.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- Substitua
PROJECT_ID
pela ID do seu projeto. - Substitua
EMAIL_ADDRESS
pelo seu endereço de e-mail. - Substitua
ROLE
por cada papel individual.
- Substitua
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Crie ou selecione um projeto do Google Cloud.
-
Crie um projeto do Google Cloud:
gcloud projects create PROJECT_ID
Substitua
PROJECT_ID
por um nome para o projeto do Google Cloud que você está criando. -
Selecione o projeto do Google Cloud que você criou:
gcloud config set project PROJECT_ID
Substitua
PROJECT_ID
pelo nome do projeto do Google Cloud.
-
-
Verifique se a cobrança está ativada para o seu projeto do Google Cloud.
-
Ative Pub/Sub API:
gcloud services enable pubsub.googleapis.com
-
Create local authentication credentials for your user account:
gcloud auth application-default login
-
Atribua os papéis à sua Conta do Google. Execute uma vez o seguinte comando para cada um dos seguintes papéis do IAM:
roles/pubsub.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- Substitua
PROJECT_ID
pela ID do seu projeto. - Substitua
EMAIL_ADDRESS
pelo seu endereço de e-mail. - Substitua
ROLE
por cada papel individual.
- Substitua
Instalar as 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 cloud.google.com/go/pubsub
Java
If you are using Maven, add
the following to your pom.xml
file. For more information about
BOMs, see The Google Cloud Platform Libraries BOM.
If you are using Gradle, add the following to your dependencies:
If you are using sbt, add the following to your dependencies:
If you're using Visual Studio Code, IntelliJ, or Eclipse, you can add client libraries to your project using the following IDE plugins:
The plugins provide additional functionality, such as key management for service accounts. Refer to each plugin's documentation for details.
Node.js
npm install --save @google-cloud/pubsub
PHP
composer require google/cloud-pubsub
Ruby
gem install google-cloud-pubsub
Criar um tópico e uma assinatura
Depois de criar um tópico, é possível se inscrever ou publicar nele.
Use o seguinte
gcloud pubsub topics
create para criar um tópico chamado my-topic
. Não alterar
o nome do tópico, porque ele é referenciado no restante do
.
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.
Publique mensagens
Antes de executar os exemplos a seguir, remova a marca de comentário e preencha os valores obrigatórios marcados no código. Isso é necessário para vincular a ao projeto e aos recursos do Pub/Sub que você criou antes.
Use my-topic
como ID do tópico.
Python
C++
C#
Go
Java
Node.js
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.
Antes de executar os exemplos a seguir, remova a marca de comentário e preencha os valores obrigatórios marcados no código. Isso é necessário para vincular a ao projeto e aos recursos do Pub/Sub que você criou mais cedo
Use my-sub
como ID da assinatura.
Para mais exemplos de como extrair mensagens, consulte Exemplos de código da biblioteca de cliente.
Python
C++
C#
Go
Java
Node.js
PHP
Ruby
Como foi?
Limpar (opcional)
- Para evitar cobranças na sua conta do Google Cloud pelo
recursos usados neste guia, você pode usar a linha de comando
para excluir o tópico e a assinatura.
gcloud pubsub subscriptions delete my-sub gcloud pubsub topics delete my-topic
-
Opcional: revogue as credenciais de autenticação que você criou e exclua o arquivo de credenciais local:
gcloud auth application-default revoke
-
Opcional: revogar credenciais da CLI gcloud.
gcloud auth revoke
A seguir
Saiba mais sobre os conceitos do Pub/Sub discutidos nesta página.
Leia os conceitos básicos do serviço Pub/Sub.
Saiba como criar um sistema Pub/Sub de um para muitos, que cria um aplicativo de editor que publica em dois aplicativos assinantes separados.
Tente outro guia de início rápido do Pub/Sub que usa a CLI gcloud; ou o console.
Saiba mais sobre as APIs Pub/Sub.
Aprenda a executar o Pub/Sub usando o Kotlin.