Tutorial: Obtención de información de los datos procesados
En este tutorial, rellenará un Panel en tiempo real para capturar información de los datos de OPC UA que envió a Event Hubs en el inicio rápido anterior. Con la inteligencia de tiempo de Microsoft Fabric, los datos de Event Hubs se incorporan a Microsoft Fabric y se asignan a una base de datos KQL que puede ser un origen para los paneles en tiempo real. A continuación, creará un panel para mostrar esos datos en iconos visuales que capturan información y muestran los valores a lo largo del tiempo.
Estas operaciones son los últimos pasos de la experiencia de inicio rápido de un extremo a otro, que va desde la implementación de las Operaciones de IoT de Azure en el perímetro hasta la obtención de información a partir de los datos de los dispositivos en la nube.
Requisitos previos
Antes de comenzar este tutorial, debe completar Tutorial: Envío de telemetría de recursos a la nube mediante un flujo de datos
También necesita una suscripción a Microsoft Fabric. En la suscripción, necesita acceso a un área de trabajo con los permisos de colaborador o superior.
Además, el inquilino de Fabric debe permitir la creación de paneles en tiempo real. Se trata de una configuración que el administrador de inquilinos puede habilitar. Para obtener más información, consulte Habilitación de la configuración de inquilinos en el portal de administración.
¿Qué problema resolveremos?
Una vez que los datos de OPC UA hayan llegado a la nube, tendrá una gran cantidad de información disponible para analizarlos. Es posible que quiera organizar esos datos y crear informes que contengan gráficos y visualizaciones para derivar información de los datos. Los pasos de este tutorial muestran cómo puede conectar esos datos a la inteligencia en tiempo real y compilar un panel en tiempo real.
Ingesta de datos en inteligencia de tiempo
En esta sección, configurará un Eventstream de Microsoft Fabric para conectar el centro de eventos a una base de datos KQL en Inteligencia de tiempo. Este proceso incluye la configuración de una asignación de datos para transformar los datos de carga de su formato JSON en columnas de KQL.
Crear un Eventstream
En esta sección, creará una instancia de Eventstream que se usará para traer los datos de Event Hubs a Inteligencia de tiempo de Microsoft Fabric y, finalmente, a una base de datos KQL.
Para empezar, vaya a la experiencia de inteligencia de tiempo de en Microsoft Fabric y abra el área de trabajo de Fabric.
Siga los pasos descritos en Crear una secuencia de eventos en Microsoft Fabric para crear un nuevo recurso de secuencia de eventos en el área de trabajo.
Una vez creada la secuencia de eventos, verá el editor principal donde puede empezar a compilar la secuencia de eventos.
Añadir el centro de eventos como origen
A continuación, agregue el centro de eventos del tutorial anterior como origen de datos para la secuencia de eventos.
Siga los pasos descritos en Incorporación del origen de Azure Event Hubs a un Eventstream para agregar el origen del evento. Pero tenga en cuenta lo siguiente:
- Va a crear una nueva conexión en la nube con autenticación de clave de acceso compartido.
- Asegúrese de que la autenticación local está habilitada en el centro de eventos. Puede establecerlo en su página Información general en Azure Portal.
- En Grupo de consumidores, use la selección predeterminada ($Default).
- En Formato de datos, elija Json (es posible que ya esté seleccionado de forma predeterminada).
Después de completar este flujo, el centro de eventos de Azure está visible en la vista en directo de Eventstream como origen.
Comprobación del flujo de datos
Siga estos pasos para comprobar el trabajo hasta ahora y asegúrese de que los datos fluyen a Eventsream.
Inicie el clúster donde implementó Operaciones de IoT de Azure en tutoriales anteriores. El simulador de OPC PLC que implementó con la instancia de Operaciones de IoT de Azure debe comenzar a ejecutarse y enviar datos al corredor MQTT. Puede comprobar esta parte del flujo mediante mqttui, tal como se describe en Comprobar los datos a medida que fluyen.
Espere unos minutos para que los datos se propaguen. A continuación, en la vista en directo de Eventstream, seleccione el origen de AzureEventHub y actualice la versión preliminar de datos. Debería ver que los datos JSON del simulador comienzan a aparecer en la tabla.
Sugerencia
Si los datos no han llegado al Eventstream, es posible que quiera comprobar la actividad del centro de eventos para verificar que recibe mensajes. Esto le ayudará a aislar la sección del flujo que se va a depurar.
Preparación de recursos de KQL
En esta sección, creará una base de datos KQL en el área de trabajo de Microsoft Fabric para usarla como destino para los datos.
Siga los pasos descritos en Creación de un centro de eventos para crear un centro de eventos de Inteligencia de tiempo real con una base de datos KQL secundaria. Solo tiene que completar la sección titulada Crear un centro de eventos.
A continuación, cree una tabla en la base de datos. Llámela OPCUA y use las columnas siguientes.
Nombre de la columna Tipo de datos AssetId string Temperatura decimal Humedad decimal Marca de tiempo datetime Una vez creada la tabla OPCUA, seleccione la base de datos y use el botón Explorar los datos para abrir una ventana de consulta.
Ejecute la siguiente consulta KQL para crear una asignación de datos para la tabla. La asignación de datos se llamará opcua_mapping.
.create table ['OPCUA'] ingestion json mapping 'opcua_mapping' '[{"column":"AssetId", "Properties":{"Path":"$[\'AssetId\']"}},{"column":"Temperature", "Properties":{"Path":"$[\'ThermostatTemperature\']"}},{"column":"Humidity", "Properties":{"Path":"$[\'ThermostatHumidity\']"}},{"column":"Timestamp", "Properties":{"Path":"$[\'EventProcessedUtcTime\']"}}]'
Agregar tabla de datos como destino
A continuación, vuelva a la vista de Eventstream, donde puede agregar la nueva tabla KQL como destino de Eventstream.
Siga los pasos descritos en Agregar un destino de base de datos KQL a Eventstream para agregar el destino. Pero tenga en cuenta lo siguiente:
Use el modo de ingesta directa.
En el paso Configurar, seleccione la tabla OPCUA que creó anteriormente.
En el paso Inspeccionar, abra las opciones Avanzadas. En Asignación, seleccione Asignación existente y elija opcua_mapping.
Sugerencia
Si no se encuentran asignaciones existentes, pruebe a actualizar el editor de Eventstream y reinicie los pasos para agregar el destino. Como alternativa, puede iniciar este mismo proceso de configuración desde la tabla KQL en lugar de la secuencia de eventos, como se describe en Obtener datos de Eventstream.
Después de completar este flujo, la tabla KQL está visible en la vista en directo de Eventstream como destino.
Espere unos minutos para que los datos se propaguen. A continuación, seleccione el destino de KQL y actualice la Vista previa de datos para ver los datos JSON procesados de Eventstream que aparecen en la tabla.
Si lo desea, también puede ver y consultar estos datos directamente en la base de datos KQL.
Creación de paneles en tiempo real
En esta sección, creará un nuevo Panel en tiempo real para visualizar los datos del tutorial. El panel permitirá filtrar por identificador de recurso y marca de tiempo, y mostrará resúmenes visuales de los datos de temperatura y humedad.
Nota:
Solo puede crear paneles en tiempo real si el administrador de inquilinos ha habilitado la creación de paneles en tiempo real en el inquilino de Fabric. Para obtener más información, consulte Habilitación de la configuración de inquilinos en el portal de administración.
Creación de un panel y conexión del origen de datos
Siga los pasos descritos en la sección Crear un nuevo panel para crear un nuevo panel en tiempo real a partir de las funcionalidades de inteligencia de tiempo.
A continuación, siga los pasos de la sección Agregar origen de datos para agregar la base de datos como origen de datos. Tenga en cuenta lo siguiente:
- En el panel Orígenes de datos, la base de datos estará en el centro de datos de OneLake.
Configurar parámetros
A continuación, configure algunos parámetros para el panel para que los objetos visuales se puedan filtrar por identificador de recurso y marca de tiempo. El panel incluye un parámetro predeterminado para filtrar por intervalo de tiempo, por lo que solo es necesario crear uno que pueda filtrar por id. de activo.
Cambie a la pestaña Administrar y seleccione Parámetros. Seleccione + Agregar para agregar un nuevo parámetro.
Cree un nuevo parámetro con las siguientes características:
- Etiqueta: Recurso
- Tipo de parámetro: Selección única (ya seleccionado de forma predeterminada)
- Nombre de variable: _asset
- Tipo de datos: Cadena (ya seleccionado de forma predeterminada)
- Origen: Consulta
Origen de datos: la base de datos (ya seleccionada de forma predeterminada)
Seleccione Editar consulta y agregue la siguiente consulta KQL.
OPCUA | summarize by AssetId
- Columna de valor: AssetId
- Valor predeterminado: Seleccione el primer valor de consulta
Seleccione Listo para guardar el parámetro.
Icono Crear gráfico de líneas
A continuación, agregue un icono al panel para mostrar un gráfico de líneas de temperatura y humedad a lo largo del tiempo para el recurso y el intervalo de tiempo seleccionados.
Seleccione + Agregar icono o Nuevo icono para agregar un icono nuevo.
Escriba la siguiente consulta KQL para el icono. Esta consulta aplica parámetros de filtro desde los selectores de panel para el intervalo de tiempo y el recurso, y extrae los registros resultantes con su marca de tiempo, temperatura y humedad.
OPCUA | where Timestamp between (_startTime.._endTime) | where AssetId == _asset | project Timestamp, Temperature, Humidity
Ejecute la consulta para comprobar que se pueden encontrar datos.
Seleccione + Agregar objeto visual junto a los resultados de la consulta para agregar un objeto visual para estos datos. Cree un objeto visual con las siguientes características:
- Nombre de icono: Temperatura y humedad a lo largo del tiempo
- Tipo de objeto visual: Gráfico de líneas
- Data:
- Columnas Y: Temperatura (decimal) y Humedad (decimal) (ya inferido de forma predeterminada)
- Columnas X: Marca de tiempo (datetime) (ya inferido de forma predeterminada)
- Eje Y:
- Etiqueta: Unidades
- Eje X:
- Etiqueta: Marca de tiempo
Seleccione Aplicar cambios para crear el icono.
Vea el icono terminado en el panel.
Crear iconos de valores máximos
A continuación, cree algunos iconos para mostrar los valores máximos de temperatura y humedad.
Seleccione Nuevo icono para crear un icono.
Escriba la siguiente consulta KQL para el icono. Esta consulta aplica parámetros de filtro desde los selectores de panel para el intervalo de tiempo y el recurso, y toma el valor de temperatura más alto de los registros resultantes.
OPCUA | where Timestamp between (_startTime.._endTime) | where AssetId == _asset | top 1 by Temperature desc | summarize by Temperature
Ejecute la consulta para comprobar que se puede encontrar una temperatura máxima.
Seleccione + Agregar objeto visual para agregar un objeto visual para estos datos. Cree un objeto visual con las siguientes características:
- Nombre de icono: Temperatura máxima
- Tipo de objeto visual: Estadística
- Data:
- Columna Valor: Temperatura (decimal) (ya inferido de forma predeterminada)
Seleccione Aplicar cambios para crear el icono.
Vea el icono terminado en el panel (es posible que desee cambiar el tamaño del icono para que el texto completo esté visible).
Abra las opciones del icono y seleccione Duplicar icono.
Esto crea un icono duplicado en el panel.
En el nuevo icono, seleccione el icono de lápiz para editarlo.
Reemplace Temperatura en la consulta KQL por Humedad, de modo que coincida con la consulta siguiente.
OPCUA | where Timestamp between (_startTime.._endTime) | where AssetId == _asset | top 1 by Humidity desc | summarize by Humidity
Ejecute la consulta para comprobar que se puede encontrar una humedad máxima.
En el panel Formato de objeto visual, actualice las siguientes características:
- Nombre de icono: Humedad máxima
- Data:
- Columna Valor: Humedad (decimal) (ya inferido de forma predeterminada)
Seleccione Aplicar cambios.
Vea el icono terminado en el panel.
Guarde el panel completado.
Ahora tiene un panel que muestra diferentes tipos de objetos visuales para los datos de recursos en estos tutoriales. Desde aquí, puede experimentar con los filtros y agregar otros tipos de icono para ver cómo un panel puede permitirle hacer más con los datos.
¿Cómo solucionamos el problema?
En este tutorial, ha usado un Eventstream para ingerir los datos de Event Hubs en una base de datos KQL en Inteligencia en tiempo real de Microsoft Fabric. A continuación, ha creado un panel en tiempo real con tecnología de esos datos, que realiza un seguimiento visual de los cambios de valores a lo largo del tiempo. Al relacionar datos perimetrales de varios orígenes juntos en Microsoft Fabric, puede crear informes con visualizaciones y características interactivas que ofrecen información más detallada sobre el estado de los recursos, el uso y las tendencias operativas. Esto le permite mejorar la productividad, mejorar el rendimiento de los recursos e impulsar la toma de decisiones fundamentada para mejorar los resultados empresariales.
Esto completa el paso final del flujo de inicio rápido para usar las Operaciones de IoT de Azure para administrar los datos del dispositivo desde la implementación a través del análisis en la nube.
Limpieza de recursos
Si continúa con el siguiente tutorial, mantenga todos los activos.
Si quiere eliminar la implementación de Operaciones de IoT de Azure, pero quiere mantener el clúster, use el comando az iot ops delete:
az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Si quiere eliminar todos los recursos que ha creado para este inicio rápido, elimine el clúster de Kubernetes donde ha implementado Operaciones de IoT de Azure y quite el grupo de recursos de Azure que contenía el clúster.
Si usó Codespaces para estas guías de inicio rápido, elimine Codespace de GitHub.
Nota:
El grupo de recursos contiene el espacio de nombres de Event Hubs que ha creado en este tutorial.
También puede eliminar el área de trabajo de Microsoft Fabric o todos los recursos asociados a este tutorial, como Eventstream, Flujo de eventos y el panel en tiempo real.