Publica y recibe mensajes en Pub/Sub con una biblioteca cliente
El servicio Pub/Sub permite que las aplicaciones intercambien mensajes de manera confiable, rápida y asíncrona. A continuación, se muestra la secuencia de eventos:
- Un productor de datos publica un mensaje en un tema de Pub/Sub.
- Un cliente suscriptor crea una suscripción a ese tema y consume mensajes desde la suscripción.
Puedes configurar un entorno de Pub/Sub mediante cualquiera de los siguientes métodos: consola de Google Cloud, Cloud Shell, bibliotecas cliente o API de REST. En esta página, se muestra cómo comenzar a publicar mensajes con Pub/Sub mediante las bibliotecas cliente.
Pub/Sub ofrece una biblioteca cliente de alto nivel y una de bajo nivel generada automáticamente. De forma predeterminada, como en esta guía de inicio rápido, recomendamos la biblioteca cliente de alto nivel.
Para seguir la guía paso a paso sobre esta tarea de forma directa en la consola de Google Cloud, haz clic en Guiarme:
Antes de comenzar
- Accede a tu cuenta de Google Cloud. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Habilita la Pub/Sub API:
gcloud services enable pubsub.googleapis.com
-
Create local authentication credentials for your user account:
gcloud auth application-default login
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/pubsub.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:[email protected]
. - Replace
ROLE
with each individual role.
- Replace
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud.
-
Habilita la Pub/Sub API:
gcloud services enable pubsub.googleapis.com
-
Create local authentication credentials for your user account:
gcloud auth application-default login
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/pubsub.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="USER_IDENTIFIER" --role=ROLE
- Replace
PROJECT_ID
with your project ID. -
Replace
USER_IDENTIFIER
with the identifier for your user account. For example,user:[email protected]
. - Replace
ROLE
with each individual role.
- Replace
Instala las bibliotecas cliente
En los siguientes ejemplos, se muestra cómo instalar las bibliotecas cliente:
Python
Para obtener más información sobre la configuración de tu entorno de desarrollo de Python, consulta Guía de configuración del entorno de desarrollo de Python.
# ensure that you are using virtualenv
# as described in the python dev setup guide
pip install --upgrade google-cloud-pubsub
C++
Si quieres obtener más información para instalar la biblioteca de C++, consulta la README
de 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
Crea un tema y una suscripción
Después de crear un tema, puedes suscribirte o publicarlo.
Usa el siguiente comando gcloud pubsub topics create para crear un tema con el nombre my-topic
. No cambies el nombre del tema, ya que se hace referencia a él en el resto del instructivo.
gcloud pubsub topics create my-topic
Usa el comando gcloud pubsub suscripciones create para crear una suscripción. Solo los mensajes publicados en el tema después de crear la suscripción están disponibles para las aplicaciones de suscriptor.
gcloud pubsub subscriptions create my-sub --topic my-topic
Para obtener más información sobre cómo nombrar tus temas y suscripciones, consulta Nombres de recursos.
Publica mensajes
Antes de ejecutar las siguientes muestras, asegúrate de quitar los comentarios y de completar cualquiera de los valores obligatorios marcados en el código. Esto es necesario para vincular la muestra a tu proyecto y a los recursos de Pub/Sub que creaste antes.
Usa my-topic
como ID del tema.
Python
C++
C#
Go
Java
Node.js
Node.js
PHP
Rita
Recibir mensajes
Configura un suscriptor para que extraiga los mensajes que acabas de publicar. Cada suscriptor debe confirmar cada mensaje dentro de un período configurable. Los mensajes no confirmados se vuelven a entregar. Ten en cuenta que, en ocasiones, Pub/Sub entrega un mensaje varias veces para garantizar que todos los mensajes lleguen al suscriptor al menos una vez.
Antes de ejecutar las siguientes muestras, asegúrate de quitar los comentarios y de completar cualquiera de los valores obligatorios marcados en el código. Esto es necesario para vincular la muestra a tu proyecto y a los recursos de Pub/Sub que creaste antes.
Usa my-sub
para el ID de la suscripción.
Para obtener más ejemplos que muestren cómo extraer mensajes, consulta Muestras de código de la biblioteca cliente.
Python
C++
C#
Go
Java
Node.js
PHP
Rita
¿Cómo fue?
Realiza una limpieza (opcional)
- Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos usados en esta guía, puedes usar la línea de comandos para borrar el tema y la suscripción.
gcloud pubsub subscriptions delete my-sub gcloud pubsub topics delete my-topic
-
Opcional: Revoca las credenciales de autenticación que creaste y borra el archivo local de credenciales.
gcloud auth application-default revoke
-
Opcional: Revoca credenciales desde gcloud CLI.
gcloud auth revoke
¿Qué sigue?
Obtén más información sobre los conceptos de Pub/Sub que se analizan en esta página.
Obtén información para compilar un sistema de Pub/Sub de uno a varios, que crea una aplicación de publicador que publica en dos aplicaciones de suscriptor separadas.
Prueba otra guía de inicio rápido de Pub/Sub que use la CLI de gcloud o la consola.
Obtén más información sobre las APIs de Pub/Sub.
Aprende a ejecutar Pub/Sub con Kotlin.