Publica y recibe mensajes en Pub/Sub mediante una biblioteca cliente
El servicio Pub/Sub permite que las aplicaciones intercambien mensajes de manera confiable, rápida y asíncrona. La siguiente es 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 de la suscripción.
Puedes configurar un entorno de Pub/Sub con cualquiera de los siguientes métodos: consola de Google Cloud, Cloud Shell, bibliotecas cliente o APIs de REST. En esta página, se muestra cómo comenzar a publicar mensajes con Pub/Sub mediante bibliotecas cliente.
Pub/Sub ofrece una biblioteca cliente generada de forma automática y de alto nivel. 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 en esta tarea directamente en la consola de Google Cloud, haz clic en Guía:
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.
- Instala Google Cloud CLI.
-
Para inicializar la CLI de gcloud, ejecuta el siguiente comando:
gcloud init
-
Crea o selecciona un proyecto de Google Cloud.
-
Crea un proyecto de Google Cloud:
gcloud projects create PROJECT_ID
-
Selecciona el proyecto de Google Cloud que creaste:
gcloud config set project PROJECT_ID
-
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud. Obtén información sobre cómo verificar si la facturación está habilitada en un proyecto.
-
Habilita la Pub/Sub API:
gcloud services enable pubsub.googleapis.com
-
Crea credenciales de autenticación para tu Cuenta de Google:
gcloud auth application-default login
-
Otorga roles a tu Cuenta de Google. Ejecuta el siguiente comando una vez para cada uno de los siguientes roles de IAM:
roles/pubsub.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- Reemplaza
PROJECT_ID
con el ID del proyecto. - Reemplaza
EMAIL_ADDRESS
por tu dirección de correo electrónico. - Reemplaza
ROLE
por cada rol individual.
- Reemplaza
- Instala Google Cloud CLI.
-
Para inicializar la CLI de gcloud, ejecuta el siguiente comando:
gcloud init
-
Crea o selecciona un proyecto de Google Cloud.
-
Crea un proyecto de Google Cloud:
gcloud projects create PROJECT_ID
-
Selecciona el proyecto de Google Cloud que creaste:
gcloud config set project PROJECT_ID
-
-
Asegúrate de que la facturación esté habilitada para tu proyecto de Google Cloud. Obtén información sobre cómo verificar si la facturación está habilitada en un proyecto.
-
Habilita la Pub/Sub API:
gcloud services enable pubsub.googleapis.com
-
Crea credenciales de autenticación para tu Cuenta de Google:
gcloud auth application-default login
-
Otorga roles a tu Cuenta de Google. Ejecuta el siguiente comando una vez para cada uno de los siguientes roles de IAM:
roles/pubsub.admin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:EMAIL_ADDRESS" --role=ROLE
- Reemplaza
PROJECT_ID
con el ID del proyecto. - Reemplaza
EMAIL_ADDRESS
por tu dirección de correo electrónico. - Reemplaza
ROLE
por cada rol individual.
- Reemplaza
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++
Para obtener más información sobre cómo instalar la biblioteca de C++, consulta el README
de GitHub.
C#
Install-Package Google.Cloud.PubSub.V1 -Pre
Go
go get cloud.google.com/go/pubsub
Java
Si usas Maven, agrega lo siguiente al archivo pom.xml
. Para obtener más información sobre las BOM, consulta Las bibliotecas de BOM de Google Cloud Platform.
Si usas Gradle, agrega lo siguiente a las dependencias:
Si usas sbt, agrega lo siguiente a las dependencias:
Si usas Visual Studio Code, IntelliJ o Eclipse, puedes agregar bibliotecas cliente a tu proyecto con los siguientes complementos IDE:
Los complementos brindan funcionalidades adicionales, como administración de claves para las cuentas de servicio. Consulta la documentación de cada complemento para obtener más detalles.
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 llamado my-topic
. No cambies el nombre del tema, ya que se hace referencia 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.
Publique mensajes
Antes de ejecutar los siguientes ejemplos, asegúrate de quitar los comentarios y 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
para el ID de tema.
Python
C++
C#
Go
Java
Node.js
PHP
Ruby
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 los siguientes ejemplos, asegúrate de quitar los comentarios y 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 tu suscripción.
Python
C++
C#
Go
Java
Node.js
PHP
Ruby
¿Cómo fue?
Realiza una limpieza (opcional)
- Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que se usaron 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 las credenciales de la CLI de gcloud.
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 sobre cómo 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.