GSP095

Descripción general
Pub/Sub es un servicio de mensajería para intercambiar datos de eventos entre aplicaciones y servicios. La separación de emisores y receptores permite una comunicación segura y con alta disponibilidad entre las aplicaciones escritas de forma independiente. Pub/Sub ofrece una mensajería duradera y de baja latencia, que los desarrolladores suelen usar para implementar flujos de trabajo asíncronos, distribuir notificaciones de eventos y transmitir datos desde varios procesos o dispositivos.
Qué aprenderás
En este lab, harás lo siguiente:
- Crearás, borrarás y mostrarás una lista de suscripciones de Pub/Sub.
- Publicarás mensajes en un tema.
- Aprenderás a usar un suscriptor de extracción.
Requisitos previos
Este es un lab de nivel introductorio. Eso quiere decir que se da por hecho que tienes poca o ninguna experiencia en Pub/Sub. Se te enseñarán los conceptos básicos de la configuración y el uso de este servicio de Google Cloud.
Configuración y requisitos
Antes de hacer clic en el botón Comenzar lab
Lee estas instrucciones. Los labs cuentan con un temporizador que no se puede pausar. El temporizador, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.
Para completar este lab, necesitarás lo siguiente:
- Acceso a un navegador de Internet estándar. Se recomienda el navegador Chrome.
Nota: Usa una ventana del navegador privada o de incógnito (opción recomendada) para ejecutar el lab. Así evitarás conflictos entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
- Tiempo para completar el lab (recuerda que, una vez que comienzas un lab, no puedes pausarlo).
Nota: Usa solo la cuenta de estudiante para este lab. Si usas otra cuenta de Google Cloud, es posible que se apliquen cargos a esa cuenta.
Cómo iniciar tu lab y acceder a la consola de Google Cloud
-
Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá un diálogo para que selecciones la forma de pago.
A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
- El botón para abrir la consola de Google Cloud
- El tiempo restante
- Las credenciales temporales que debes usar para el lab
- Otra información para completar el lab, si es necesaria
-
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.
Sugerencia: Ordena las pestañas en ventanas separadas, una junto a la otra.
Nota: Si ves el diálogo Elegir una cuenta, haz clic en Usar otra cuenta.
-
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
{{{user_0.username | "Username"}}}
También puedes encontrar el nombre de usuario en el panel Detalles del lab.
-
Haz clic en Siguiente.
-
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
{{{user_0.password | "Password"}}}
También puedes encontrar la contraseña en el panel Detalles del lab.
-
Haz clic en Siguiente.
Importante: Debes usar las credenciales que te proporciona el lab. No uses las credenciales de tu cuenta de Google Cloud.
Nota: Usar tu propia cuenta de Google Cloud para este lab podría generar cargos adicionales.
-
Haz clic para avanzar por las páginas siguientes:
- Acepta los Términos y Condiciones.
- No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
- No te registres para obtener pruebas gratuitas.
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Nota: Para acceder a los productos y servicios de Google Cloud, haz clic en el menú de navegación o escribe el nombre del servicio o producto en el campo Buscar.
Activa Cloud Shell
Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
-
Haz clic en Activar Cloud Shell
en la parte superior de la consola de Google Cloud.
-
Haz clic para avanzar por las siguientes ventanas:
- Continúa en la ventana de información de Cloud Shell.
- Autoriza a Cloud Shell para que use tus credenciales para realizar llamadas a la API de Google Cloud.
Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu Project_ID, . El resultado contiene una línea que declara el Project_ID para esta sesión:
Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}
gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.
- Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
gcloud auth list
- Haz clic en Autorizar.
Resultado:
ACTIVE: *
ACCOUNT: {{{user_0.username | "ACCOUNT"}}}
To set the active account, run:
$ gcloud config set account `ACCOUNT`
- Puedes solicitar el ID del proyecto con este comando (opcional):
gcloud config list project
Resultado:
[core]
project = {{{project_0.project_id | "PROJECT_ID"}}}
Nota: Para obtener toda la documentación de gcloud, en Google Cloud, consulta la guía con la descripción general de gcloud CLI.
Conceptos básicos de Pub/Sub
Como se mencionó con anterioridad, Pub/Sub es un servicio de mensajería global asíncrono. Hay tres términos que aparecen a menudo en Pub/Sub: temas, publicar y suscribirse.
-
Un tema es una cadena compartida que permite a las aplicaciones conectarse entre sí mediante un subproceso común.
-
Los publicadores envían (o publican) un mensaje a un tema de Cloud Pub/Sub.
-
Los suscriptores se “suscriben” a un tema del que extraen mensajes de la suscripción o configuran webhooks para suscripciones de envío. Los suscriptores deben confirmar la recepción de cada mensaje en el transcurso de un período configurable.
En resumen, un productor publica mensajes a un tema y un consumidor crea una suscripción a un tema para recibir mensajes de él.
Tarea 1: temas de Pub/Sub
Pub/Sub viene preinstalado en Cloud Shell, por lo que no es necesario realizar instalación o configuración alguna para empezar a usar este servicio.
- Ejecuta el siguiente comando para crear un tema llamado
myTopic.
gcloud pubsub topics create myTopic
Prueba la tarea completada
Haz clic en Revisar mi progreso para verificar la tarea realizada. Si la completaste correctamente, se te otorgará una puntuación de evaluación.
Crear un tema de Pub/Sub.
- Por si acaso, crea dos temas más, uno llamado
Test1 y otro llamado Test2:
gcloud pubsub topics create Test1
gcloud pubsub topics create Test2
- Para ver los temas que acabas de crear, ejecuta el siguiente comando:
gcloud pubsub topics list
El resultado debería ser similar al siguiente:
---
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
- Es hora de limpiar. Borra
Test1 y Test2. Para ello, ejecuta los siguientes comandos:
gcloud pubsub topics delete Test1
gcloud pubsub topics delete Test2
- Ejecuta el comando
gcloud pubsub topics list una vez más para verificar que se borraron los temas:
gcloud pubsub topics list
Deberías obtener el siguiente resultado:
---
name: projects/qwiklabs-gcp-3450558d2b043890/topics/myTopic
Tarea 2: suscripciones Pub/Sub
Ahora que estás al tanto de la creación, la visualización y el borrado de temas, es hora de trabajar con suscripciones.
- Ejecuta el siguiente comando para crear una suscripción que se llame
mySubscription al tema myTopic:
gcloud pubsub subscriptions create --topic myTopic mySubscription
Prueba la tarea completada
Haz clic en Revisar mi progreso para verificar la tarea realizada. Si la completaste correctamente, se te otorgará una puntuación de evaluación.
Crear una suscripción de Pub/Sub.
- Agrega otras dos suscripciones a
myTopic. Ejecuta los siguientes comandos para crear las suscripciones Test1 y Test2:
gcloud pubsub subscriptions create --topic myTopic Test1
gcloud pubsub subscriptions create --topic myTopic Test2
- Ejecuta el siguiente comando para mostrar las suscripciones a myTopic:
gcloud pubsub topics list-subscriptions myTopic
El resultado debería ser similar al siguiente:
---
projects/qwiklabs-gcp-3450558d2b043890/subscriptions/Test2
---
projects/qwiklabs-gcp-3450558d2b043890/subscriptions/Test1
---
projects/qwiklabs-gcp-3450558d2b043890/subscriptions/mySubscription
Pon a prueba tus conocimientos
A continuación, se presentan algunas preguntas de opción múltiple para reforzar tus conocimientos de los conceptos de este lab. Trata de responderlas lo mejor posible.
- Ahora, borra las suscripciones
Test1 y Test2. Ejecuta los siguientes comandos:
gcloud pubsub subscriptions delete Test1
gcloud pubsub subscriptions delete Test2
- Verifica que se hayan borrado las suscripciones
Test1 y Test2. Ejecuta el comando list-subscriptions una vez más:
gcloud pubsub topics list-subscriptions myTopic
Deberías obtener el siguiente resultado:
---
projects/qwiklabs-gcp-3450558d2b043890/subscriptions/mySubscription
Tarea 3: publicar y extraer un solo mensaje con Pub/Sub
A continuación, aprenderás a publicar un mensaje en un tema de Pub/Sub.
- Ejecuta el siguiente comando para publicar el mensaje
"hello" en el tema que creaste con anterioridad (myTopic):
gcloud pubsub topics publish myTopic --message "Hello"
- Publica algunos mensajes más en
myTopic. Para ello, ejecuta los siguientes comandos (reemplaza <YOUR NAME> por tu nombre y <FOOD> por un platillo que te guste):
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"
A continuación, usa el comando pull para obtener los mensajes desde tu tema. El comando pull se basa en suscripciones, por lo que debería funcionar porque configuraste la suscripción llamada mySubscription al tema myTopic previamente.
- Usa el siguiente comando para extraer los mensajes que acabas de publicar del tema de Pub/Sub:
gcloud pubsub subscriptions pull mySubscription --auto-ack
El resultado debería ser similar al siguiente:

¿Qué sucede aquí? Publicaste 4 mensajes en tu tema, pero solo se muestra 1.
En este punto es importante mencionar un par de funciones del comando pull que a menudo confunden a los desarrolladores:
- Si se usa el comando pull sin marcas, solo se mostrará un mensaje, incluso si estás suscrito a un tema que tiene más mensajes.
- Una vez que se muestra un mensaje individual desde un comando pull basado en una suscripción, no podrás acceder a ese mensaje nuevamente con este comando.
-
Para comprender mejor a qué se refiere el segundo punto, ejecuta el último comando tres veces más. Verás que se mostrarán los otros mensajes que publicaste antes.
-
Ahora, ejecuta el comando por cuarta vez. Obtendrás el siguiente resultado (ya que no había nada más para mostrar):
gcpstaging20394_student@cloudshell:~ (qwiklabs-gcp-3450558d2b043890)$ gcloud pubsub subscriptions pull mySubscription --auto-ack
Listed 0 items.
En la última sección, aprenderás cómo extraer varios mensajes desde un tema con una marca o flag.
Tarea 4: extraer todos los mensajes desde las suscripciones con Pub/Sub
Ya que extrajiste todos los mensajes desde tu tema en el último ejemplo, propaga contenido en myTopic con unos cuantos mensajes más.
- Ejecuta los siguientes comandos:
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"
- Agrega una marca
flag al comando para que puedas obtener los tres mensajes en una sola solicitud.
Es posible que no lo hayas notado, pero estuviste usando una marca en los ejemplos anteriores: --auto-ack, que es parte del comando pull. Esta marca da formato a tus mensajes extraídos para que se muestren en el cuadro que ves.
limit es otra marca que configura un límite superior para la cantidad de mensajes que vas a extraer.
- Espera un minuto para que se creen los temas. Ejecuta el comando pull con la marca
limit:
gcloud pubsub subscriptions pull mySubscription --limit=3
El resultado debería ser similar al siguiente:

Ahora ya sabes cómo agregar marcas a un comando de Pub/Sub para obtener un grupo más grande de mensajes. Estás en buen camino para convertirte en un experto en Pub/Sub.
Felicitaciones
En este lab, aprendiste los conceptos básicos de los temas y las suscripciones de Pub/Sub, además del comando pull y las marcas.
Realiza tu próximo lab
Este lab forma parte de una serie llamada Qwik Starts. Estos labs están diseñados para ofrecerte una visión general de las numerosas funciones disponibles en Google Cloud. Busca “Qwik Starts” en el catálogo de labs para elegir el próximo lab que desees completar.
Capacitación y certificación de Google Cloud
Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.
Última actualización del manual: 10 de marzo de 2025
Prueba más reciente del lab: 10 de marzo de 2025
Copyright 2025 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.