Obtén acceso a más de 700 labs y cursos

Procesamiento de datos de transmisión: publica datos de transmisión en Pub/Sub

Lab 2 horas universal_currency_alt 5 créditos show_chart Introductorio
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Obtén acceso a más de 700 labs y cursos

Descripción general

Google Cloud Pub/Sub es un servicio de mensajería en tiempo real completamente administrado que permite enviar y recibir mensajes entre aplicaciones independientes. Usa Cloud Pub/Sub para publicar datos de varias fuentes y suscribirte a ellos. Luego, usa Google Cloud Dataflow para analizarlos, todo en tiempo real.

En este lab, simularás tus datos de sensores de tráfico en un tema de Pub/Sub para, luego, procesarlos con una canalización de Dataflow antes de llegar, finalmente, a una tabla de BigQuery para ahondar en el análisis.

Nota: En el momento en que se redactó este documento, las canalizaciones de transmisión no se encontraban disponibles en el SDK de Dataflow para Python. Por lo tanto, los labs de transmisión están escritos en Java.

Objetivos

En este lab, realizarás las siguientes tareas:

  • Crear un tema y una suscripción en Pub/Sub
  • Simular tus datos del sensor de tráfico en Pub/Sub

Configuración

En cada lab, recibirá un proyecto de Google Cloud y un conjunto de recursos nuevos por tiempo limitado y sin costo adicional.

  1. Accede a Qwiklabs desde una ventana de incógnito.

  2. Ten en cuenta el tiempo de acceso del lab (por ejemplo, 1:15:00) y asegúrate de finalizarlo en el plazo asignado.
    No existe una función de pausa. Si lo necesita, puede reiniciar el lab, pero deberá hacerlo desde el comienzo.

  3. Cuando esté listo, haga clic en Comenzar lab.

  4. Anote las credenciales del lab (el nombre de usuario y la contraseña). Las usarás para acceder a la consola de Google Cloud.

  5. Haga clic en Abrir Google Console.

  6. Haga clic en Usar otra cuenta, copie las credenciales para este lab y péguelas en el mensaje emergente que aparece.
    Si usa otras credenciales, se generarán errores o incurrirá en cargos.

  7. Acepta las condiciones y omite la página de recursos de recuperación.

Tarea 1. Preparación

Tendrás que ejecutar un simulador del sensor desde la VM de entrenamiento. Se requieren varios archivos, así como configurar algunos ajustes del entorno.

Abre la terminal SSH y conéctate a la VM de entrenamiento

  1. En la consola, abre el menú de navegación (Ícono del menú de navegación) y haz clic en Compute Engine > Instancias de VM.
  2. Ubica la línea que tenga la instancia training-vm.
  3. En el extremo derecho, en Conectar, haz clic en SSH para abrir una ventana de la terminal.
  4. En este lab, ingresarás comandos de la CLI en training-vm.

Verifica que se haya completado la inicialización

  • La instancia training-vm está instalando software en segundo plano. Revisa el contenido del directorio nuevo para verificar que la configuración esté completa.
ls /training

La configuración estará completa cuando el resultado de tu comando list (ls) aparezca como en la siguiente imagen. Si no aparece la lista completa, espera unos minutos y vuelve a intentarlo. Nota: Es posible que todas las acciones en segundo plano tarden entre 2 y 3 minutos en completarse.

Resultado del comando Is

Descarga el repositorio de código

  • A continuación, descargarás un repositorio de código que usarás en este lab:
git clone https://github.com/GoogleCloudPlatform/training-data-analyst

Identifica un proyecto

Una variable de entorno que configurarás es $DEVSHELL_PROJECT_ID, que contiene el ID del proyecto de Google Cloud requerido para acceder a los recursos facturables.

  1. En la consola, en el menú de navegación (Ícono del menú de navegación), haz clic en Página principal. Encontrarás el ID de proyecto en el panel Información del proyecto. También puedes encontrar esta información en la pestaña Qwiklabs, en Detalles de la conexión, donde aparecerá como ID del proyecto de Google Cloud.
  2. En la terminal SSH de training_vm, configura la variable de entorno DEVSHELL_PROJECT_ID y expórtala para que esté disponible para otras shells. El siguiente comando obtiene el ID del proyecto activo desde el entorno de Google Cloud:
export DEVSHELL_PROJECT_ID=$(gcloud config get-value project)

Tarea 2. Crea el tema y la suscripción en Pub/Sub

  1. En la terminal SSH training-vm, navega al directorio de este lab:
cd ~/training-data-analyst/courses/streaming/publish

Verifica que se pueda acceder al servicio de Pub/Sub y que funcione con el comando de gcloud.

  1. Crea un tema y publica un mensaje simple:
gcloud pubsub topics create sandiego
  1. Publica un mensaje simple:
gcloud pubsub topics publish sandiego --message "hello"
  1. Crea una suscripción para el tema:
gcloud pubsub subscriptions create --topic sandiego mySub1
  1. Extrae el primer mensaje publicado en tu tema:
gcloud pubsub subscriptions pull --auto-ack mySub1

¿Observas algún resultado? De no ser así, ¿por qué no?

  1. Trata de publicar otro mensaje y, luego, extráelo con la suscripción:
gcloud pubsub topics publish sandiego --message "hello again" gcloud pubsub subscriptions pull --auto-ack mySub1

¿Obtuviste alguna respuesta esta vez?

Resultado:

Datos: Hello, Message_ID: 38138015771622, Atributos: (blank)

Haz clic en Revisar mi progreso para verificar el objetivo. Crear un tema y una suscripción de Pub/Sub

  1. En la terminal SSH training-vm, cancela tu suscripción:
gcloud pubsub subscriptions delete mySub1

Tarea 3. Simula los datos del sensor de tráfico en Pub/Sub

  1. Explora la secuencia de comandos de Python para simular los datos del sensor de tráfico de San Diego. No realices cambios en el código.
cd ~/training-data-analyst/courses/streaming/publish nano send_sensor_data.py

Observa la función simular. Esta permite que la secuencia de comandos se comporte como si los sensores de tráfico enviaran datos en tiempo real a Pub/Sub. El parámetro speedFactor determina la velocidad de la simulación. Presiona Ctrl + X para salir del archivo.

  1. Descarga el conjunto de datos de la simulación de tráfico:
./download_data.sh

Simula la transmisión de datos del sensor

  1. Ejecuta send_sensor_data.py:
./send_sensor_data.py --speedFactor=60 --project $DEVSHELL_PROJECT_ID

Para simular datos del sensor, este comando envía datos registrados del sensor a través de mensajes de Pub/Sub. La secuencia de comandos extrae el tiempo original de los datos del sensor y pausa el envío entre cada mensaje para simular el tiempo real en el que se transmiten los datos del sensor. El valor speedFactor cambia el tiempo entre mensajes de forma proporcional. Entonces, un speedFactor de 60 significa "60 veces más rápido" que el tiempo registrado. Enviará cerca de una hora de datos cada 60 segundos.

Deja esta terminal abierta y el simulador ejecutándose.

Tarea 4. Verifica la recepción de mensajes

Abre una segunda terminal SSH y conéctate a la VM de entrenamiento

  1. En la consola, abre el menú de navegación (Ícono del menú de navegación) y haz clic en Compute Engine > Instancias de VM.
  2. Ubica la línea que tenga la instancia training-vm.
  3. En el extremo derecho, en Conectar, haz clic en SSH para abrir una segunda ventana de terminal.
  4. Cambia al directorio en el que estabas trabajando:
cd ~/training-data-analyst/courses/streaming/publish
  1. Crea una suscripción para el tema y extráelo para confirmar que estén ingresando los mensajes (nota: puede que necesites enviar el comando “pull” más de una vez para comenzar a ver mensajes):
gcloud pubsub subscriptions create --topic sandiego mySub2 gcloud pubsub subscriptions pull --auto-ack mySub2
  1. Confirma que ves un mensaje con información del sensor de tráfico.

Resultado

  1. Cancela esta suscripción:
gcloud pubsub subscriptions delete mySub2
  1. Cierra la segunda terminal:
exit

Detén el simulador del sensor

  1. Regresa a la primera terminal.
  2. Presiona Ctrl + C para detener el publicador.
  3. Cierra la primera terminal:
exit

Finalice su lab

Cuando haya completado el lab, haga clic en Finalizar lab. Google Cloud Skills Boost quitará los recursos que usó y limpiará la cuenta.

Tendrá la oportunidad de calificar su experiencia en el lab. Seleccione la cantidad de estrellas que corresponda, ingrese un comentario y haga clic en Enviar.

La cantidad de estrellas indica lo siguiente:

  • 1 estrella = Muy insatisfecho
  • 2 estrellas = Insatisfecho
  • 3 estrellas = Neutral
  • 4 estrellas = Satisfecho
  • 5 estrellas = Muy satisfecho

Puede cerrar el cuadro de diálogo si no desea proporcionar comentarios.

Para enviar comentarios, sugerencias o correcciones, use la pestaña Asistencia.

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.

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

Este contenido no está disponible en este momento

Te enviaremos una notificación por correo electrónico cuando esté disponible

¡Genial!

Nos comunicaremos contigo por correo electrónico si está disponible

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usa una ventana de navegación privada o de Incógnito para ejecutar el lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.