Azure IoT Hub, continuando la aventura

Hace unos días terminé la primera práctica de Azure IoT Hub, y en siguiente paso que comenté fue el de recoger todos los datos raw en un Azure Data Lake Gen2. Por tanto, lo primero que debemos hacer es crearlo. Para ello, elegiremos el mismo grupo de recursos y evidentemente la misma región. Esto, aunque parece obvio, tiene importancia ya que mantener «cerquita» los recursos optimiza los procesos.

Aquí va otra tip, desde el punto de vista de control de los gastos, conviene revisar el coste por servicio en distintas regiones próximas, ya que el mismo recurso en diferentes zonas pueden tener costes también desiguales.

Vamos a ponernos con la configuración de nuestro Data Lake Gen2. Para ello, localizamos desde nuestro grupo de recursos el nuevo componente, y comenzamos a completar los campos requeridos.

Seleccionamos el tipo de rendimiento como Estándar ya que sólo vamos a guardar la información de dos dispositivos Iot. Con lo que el Premium sería infrautilizado e incurriríamos en gastos innecesarios. Lo mismo para la replicación, en este ejemplo nos sirve con elegir la redundancia local. En caso en los que tuviéramos que enfrentarnos a situaciones que exigieran alta disponibilidad o mayor nivel de seguridad en la persistencia de los datos, sería buen momento para valorar alguna de las distintas opciones ofrecidas por Azure. Como no es el caso, seguimos 😉

Importante recordar que para pasar de un Azure Storage Account a un Azure Data Lake Gen2, sólo hay que habilitar el set de espacio de nombre jerárquicos. Sencillo!

Es el momento de añadir el conjunto de contenedores que necesitemos, si bien para el ejemplo de hoy, tendríamos suficiente con lo dos primeros.

Una vez hemos terminado con la creación de varios contenedores, pasaremos a configurar la parte de enrutamiento desde el Azure IoT Hub. Para ello, lo primero es crear un end point por cada uno de los conjuntos de datos a almacenar. Creamos el primero para el dispositivo 1. Para ello, conectamos con el contenemos previamente creado para recoger la información de dicho dispositivo, además configuramos la frecuencia del lote al mínimo. De este modo, comenzaremos a recoger información desde el principio y podremos validar que recibimos los datos. Ya sólo quedaría configurar la estructura con la que se van a organizar los ficheros, que en este caso serán de tipo JSON.

Una vez completado el end point, sólo queda crear una ruta. Para ello le damos nombre y elegimos el end point correspondiente. Indicamos el tipo de origen de datos y para capturar únicamente los datos del dispositivo 1, creamos una consulta de enrutamiento que filtre por el nombre del dispositivo. Existen otras múltiples opciones de filtrado, en próximas entradas veremos cómo persistir los conjuntos de datos mediante rangos de temperatura.

En el caso del dispositivo 2, todo será casi igual excepto porque el formato del fichero pasará de JSON a Avro. Este segundo es el tipo por defecto y resulta tremendamente útil para el posterior análisis con herramientas como Azure Databricks.

Finalmente creamos la ruta para el dispositivo 2, modificando el nombre del dispositivo en la captura de la información.

Una vez completado, sólo nos quedaría revisar el contenido de nuestros contenedores para comprobar que todo funciona correctamente y que capturamos la información del dispositivo que aplica.

Vemos el resultado para el dispositivo 1 como ficheros JSON en el path definido previamente.

Lo mismo hacemos para el dispositivo 2, si bien recordar que éste se almacenará en formato Avro.

Como se puede observar es sumamente sencillo guardar los datos en raw desde nuestros dispositivos IoT, lo que nos permite dar respuesta a múltiples desafíos dentro de la Analítica Avanzada. Por ejemplo de cara a la puesta en marcha de un modelo de mantenimiento predictivo.

Por otro lado, Azure IoT Hub también te permite suscribirte a eventos a través de Azure Event Grid. Esto permite ampliar enormemente las posibilidades de integración con soluciones de Azure, lo que habilita la opción de construir sistemas de detección de anomalías disparando acciones como sería el caso de integrar Azure IoT con Event Grid y Azure Functions para recibir una notificación en caso de que un sensor detectara un valor de temperatura superior a, por ejemplo, 100 grados centígrados.

Con todo ésto, vemos que la aventura de Azure IoT Hub no ha hecho más que empezar, en breve llegará una nueva entrada donde descubrir interacciones y casos de uso. Nos leemos pronto 😉

Foto de portada gracias a Stanley Ng en Pexels

Publicado por alb3rtoalonso

Soy un enamorado del poder de los datos. Entusiasta de la mejora y formación continua.

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: