arrow_back

Google Cloud Pub/Sub: Qwik Start - Línea de comandos

Unirse Acceder

Google Cloud Pub/Sub: Qwik Start - Línea de comandos

40 minutos Gratis

GSP095

Labs de autoaprendizaje de Google Cloud

Resumen

Google Cloud 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 de alta disponibilidad entre las aplicaciones escritas de forma independiente. Google Cloud 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á

En este lab, hará lo siguiente:

  • Aprenderá los conceptos básicos de Pub/Sub.

  • Creará, borrará y mostrará una lista de temas de Pub/Sub.

  • Creará, borrará y mostrará una lista de suscripciones de Pub/Sub.

  • Publicará mensajes en un tema.

  • Usará un suscriptor de extracción para mostrar mensajes individuales de temas.

  • Usará un suscriptor de extracción con una marca para mostrar varios mensajes.

Requisitos previos

Este es un lab de nivel introductorio. Eso quiere decir que se da por hecho que tiene poca o ninguna experiencia con Pub/Sub. Se le enseñarán los conceptos básicos de la configuración y el uso de este servicio de Google Cloud.

Antes de realizar este lab, tenga en cuenta su nivel de competencia en Pub/Sub. A continuación, le mostramos una lista de labs más avanzados que le permitirán aplicar sus conocimientos de Pub/Sub a diferentes casos de uso y servicios de nube:

Cuando esté listo, desplácese hacia abajo y siga los pasos que se muestran a continuación para configurar el entorno de su lab.

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

Lea estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando hace clic en Comenzar lab, indica por cuánto tiempo tendrá a su disposición los recursos de Google Cloud.

Este lab práctico de Qwiklabs le permitirá llevar a cabo las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, le proporciona credenciales temporales nuevas que utilizará para acceder a Google Cloud durante todo el lab.

Qué necesita

Para completar este lab, necesitará lo siguiente:

  • Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
  • Tiempo para completar el lab

Nota: Si ya tiene un proyecto o una cuenta personal de Google Cloud, no los use para este lab.

Nota: Si usa un dispositivo con Chrome OS, ejecute este lab en una ventana de incógnito.

Ahora que comenzó su lab, accederá a la consola de Google Cloud Shell y, luego, iniciará la herramienta de línea de comandos.

Cómo iniciar su lab y acceder a la consola de Google Cloud

  1. Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab que tiene estos elementos:

    • El botón Abrir la consola de Google
    • Tiempo restante
    • Las credenciales temporales que debe usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haga clic en Abrir la consola de Google. El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.

    Sugerencia: Ordene las pestañas en ventanas separadas, una junto a la otra.

    Nota: Si ve el diálogo Elegir una cuenta, haga clic en Usar otra cuenta.
  3. Si es necesario, copie el nombre de usuario del panel Detalles del lab y péguelo en el cuadro de diálogo Acceder. Haga clic en Siguiente.

  4. Copie la contraseña del panel Detalles del lab y péguela en el cuadro de diálogo de bienvenida. Haga clic en Siguiente.

    Importante: Debe usar las credenciales del panel de la izquierda. No use sus credenciales de Google Cloud Skills Boost. Nota: Usar su propia Cuenta de Google podría generar cargos adicionales.
  5. Haga clic para avanzar por las páginas siguientes:

    • Acepte los términos y condiciones.
    • No agregue opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No se registre para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Cloud en esta pestaña.

Nota: Para ver el menú con una lista de los productos y servicios de Google Cloud, haga clic en el Menú de navegación que se encuentra en la parte superior izquierda de la pantalla. Ícono del menú de navegación

Active Google Cloud Shell

Google Cloud Shell es una máquina virtual que cuenta con herramientas de desarrollo. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Google Cloud Shell proporciona acceso de línea de comandos a sus recursos de GCP.

  1. En GCP Console, en la barra de herramientas superior derecha, haga clic en el botón Abrir Cloud Shell.

    Ícono de Cloud Shell

  2. Haga clic en Continue (Continuar):

    cloudshell_continue

Toma unos minutos aprovisionar y conectarse con el entorno. Cuando está conectado, ya está autenticado y el proyecto está configurado en su PROJECT_ID . Por ejemplo:

Terminal de Cloud Shell

gcloud es la herramienta de línea de comandos para Google Cloud Platform. Viene preinstalada en Cloud Shell y es compatible con la función “tab-completion”.

Puede mostrar el nombre de la cuenta activa con este comando:

gcloud auth list

Resultado:

ACTIVE: *
ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net
To set the active account, run:
    $ gcloud config set account `ACCOUNT`
	

Puede mostrar el ID del proyecto con este comando:

gcloud config list project
	

Resultado:

[core]
project = <project_ID>
	

Resultado de ejemplo:

[core]
project = qwiklabs-gcp-44776a13dea667a6
	

Conceptos básicos de Pub/Sub

Como se mencionó anteriormente, Google Cloud 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 string 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 Google Cloud Shell, por lo que no es necesario realizar instalaciones o configuraciones para comenzar a usar este servicio.

  1. Ejecute el siguiente comando para crear un tema llamado myTopic:

gcloud pubsub topics create myTopic

Pruebe la tarea completada

Haga clic en Revisar mi progreso para verificar la tarea realizada. Si la completó correctamente, se le otorgará una puntuación de evaluación.

Cree un tema de Pub/Sub.
  1. Por si acaso, cree dos temas más, uno llamado Test1 y otro llamado Test2:

gcloud pubsub topics create Test1 gcloud pubsub topics create Test2
  1. Para ver los temas que acaba de crear, ejecute el siguiente comando:

gcloud pubsub topics list

El resultado debería ser similar al siguiente:

name: projects/qwiklabs-gcp-3450558d2b043890/topics/myTopic --- name: projects/qwiklabs-gcp-3450558d2b043890/topics/Test2 --- name: projects/qwiklabs-gcp-3450558d2b043890/topics/Test1
  1. Es hora de limpiar. Borre Test1 y Test2. Para ello, ejecute los siguientes comandos:

gcloud pubsub topics delete Test1 gcloud pubsub topics delete Test2
  1. Ejecute el comando gcloud pubsub topics list una vez más para verificar que se borraron los temas:

gcloud pubsub topics list

Debería obtener el siguiente resultado:

--- name: projects/qwiklabs-gcp-3450558d2b043890/topics/myTopic

Tarea 2: Suscripciones Pub/Sub

Ahora que está familiarizado con la creación, la visualización y el borrado de temas, es hora de trabajar con suscripciones.

  1. Ejecute el siguiente comando para crear una suscripción que se llame mySubscription al tema myTopic:

gcloud pubsub subscriptions create --topic myTopic mySubscription

Pruebe la tarea completada

Haga clic en Revisar mi progreso para verificar la tarea realizada. Si la completó correctamente, se le otorgará una puntuación de evaluación.

Cree una suscripción de Pub/Sub.
  1. Agregue otras dos suscripciones a myTopic. Ejecute los siguientes comandos para crear las suscripciones Test1 y Test2:

gcloud pubsub subscriptions create --topic myTopic Test1 gcloud pubsub subscriptions create --topic myTopic Test2
  1. Ejecute 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

Ponga a prueba sus conocimientos

A continuación, se presentan algunas preguntas de opción múltiple para reforzar sus conocimientos de los conceptos de este lab. Trate de responderlas lo mejor posible.

  1. Ahora, borre las suscripciones Test1 y Test2. Ejecute los siguientes comandos:

gcloud pubsub subscriptions delete Test1 gcloud pubsub subscriptions delete Test2
  1. Verifique que se borraron las suscripciones Test1 y Test2. Ejecute el comando list-subscriptions una vez más:

gcloud pubsub topics list-subscriptions myTopic

Debería obtener el siguiente resultado:

--- projects/qwiklabs-gcp-3450558d2b043890/subscriptions/mySubscription

Tarea 3: Cómo publicar y extraer un solo mensaje con Pub/Sub

A continuación, aprenderá a publicar un mensaje en un tema de Pub/Sub.

  1. Ejecute el siguiente comando para publicar el mensaje "hello" en el tema que creó con anterioridad (myTopic):

gcloud pubsub topics publish myTopic --message "Hello"
  1. Publique algunos mensajes más en myTopic. Para ello, ejecute los siguientes comandos (reemplace <YOUR NAME> con su nombre y <FOOD> por un platillo que le 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, use el comando pull para obtener los mensajes desde su tema. El comando pull se basa en suscripciones, por lo que debería funcionar porque configuró la suscripción llamada mySubscription al tema myTopic previamente.

  1. Use el siguiente comando para extraer los mensajes que acaba de publicar del tema de Pub/Sub:

gcloud pubsub subscriptions pull mySubscription --auto-ack

El resultado debería ser similar al siguiente:

Tabla de tres columnas con encabezados: Data, Message_ID y Attributes. La columna Data contiene lo siguiente: Publisher likes to eat <FOOD>.

¿Qué sucede aquí? Publicó 4 mensajes en su tema, pero solo se muestra 1.

En este punto es importante tener en cuenta 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á 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á acceder a ese mensaje nuevamente con este comando.

  1. Para comprender mejor a qué se refiere el segundo punto, ejecute el último comando tres veces más. Verá que se mostrarán los otros mensajes que publicó antes.

  2. Ahora, ejecute el comando por cuarta vez. Obtendrá 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á cómo extraer varios mensajes desde un tema con una marca o flag.

Tarea 4: Cómo extraer todos los mensajes desde las suscripciones con Pub/Sub

Ya que extrajo todos los mensajes desde su tema en el último ejemplo, propague contenido en myTopic con unos cuantos mensajes más.

  1. Ejecute 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"
  1. Agregue una marca a su comando para que pueda obtener los tres mensajes en una sola solicitud.

Es posible que no lo haya notado, pero estuvo usando una marca en los ejemplos anteriores: --auto-ack, que es parte del comando pull. Esta marca da formato a sus mensajes extraídos para que se muestren en el cuadro que ve.

limit es otra marca que configura un límite superior para la cantidad de mensajes que va a extraer.

  1. Espere un minuto para que se creen los temas. Ejecute el comando pull con la marca limit:

gcloud pubsub subscriptions pull mySubscription --auto-ack --limit=3

El resultado debería ser similar al siguiente:

Tabla de tres columnas con los siguientes encabezados: Data, Message_ID y Attributes. La columna Data contiene tres líneas de datos.

Ahora ya sabe cómo agregar marcas a un comando de Pub/Sub para obtener un grupo más grande de mensajes. Está en buen camino para convertirse en un experto en Pub/Sub.

¡Felicitaciones!

En este lab aprendió los conceptos básicos de los temas y las suscripciones de Pub/Sub, además del comando pull y las marcas.

Finalice su Quest

Este lab de autoaprendizaje forma parte de la Quest Baseline: Infrastructure. Una Quest es una serie de labs relacionados que forman una ruta de aprendizaje. Si completa esta Quest, obtendrá una insignia como reconocimiento por su logro. Puede hacer públicas sus insignias y agregar vínculos a ellas en su currículum en línea o en sus cuentas de redes sociales. Inscríbase en esta Quest y obtenga un crédito inmediato de realización. Consulte el catálogo de Google Cloud Skills Boost para ver todas las Quests disponibles.

Realice su próximo lab

Este lab forma parte de una serie llamada Qwik Starts. Estos labs están diseñados para ofrecerle una visión general de las numerosas funciones disponibles en Google Cloud. Busque “Qwik Starts” en el catálogo de labs para elegir el siguiente lab en el que desee participar.

Próximos pasos y más información

Aprenda algo completamente distinto con Proxy de servicios web de Google Maps para aplicaciones de dispositivos móviles.

Google Cloud Training & Certification

Aproveche al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarlo a ponerse en marcha rápidamente y a seguir aprendiendo. Para que pueda realizar nuestros cursos cuando más le convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: según demanda, presenciales y virtuales. Las certificaciones lo ayudan a validar y demostrar sus habilidades y experiencia en las tecnologías de Google Cloud.

Última actualización del manual: 8 de agosto de 2022

Prueba más reciente del lab: 9 de septiembre de 2019

Copyright 2020 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.