Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo, crearás un panel de control en tiempo real para obtener información a partir de los datos OPC UA que enviaste a Event Hubs en el artículo anterior. Mediante Microsoft Fabric Real-Time Intelligence, se importan los datos de Event Hubs a Microsoft Fabric y se asignan a una base de datos KQL que puede servir como fuente para paneles de control 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 constituyen los últimos pasos de la experiencia de extremo a extremo de este ejemplo, que abarca desde la implementación de Operaciones de IoT de Azure en el borde 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, complete Tutorial: Envío de mensajes desde recursos a la nube mediante un flujo de datos.
También necesita los siguientes recursos Fabric:
- Una suscripción de Microsoft Fabric. En su suscripción, debe tener acceso a un espacio de trabajo con permisos de Colaborador o superiores.
- Un inquilino de Microsoft Fabric que permite la creación de paneles de control en tiempo real. El administrador de inquilinos puede habilitar esta configuración. Para obtener más información, consulte Habilitación de la configuración de inquilinos en el portal de administración.
¿Qué problema resolveremos?
Cuando los datos de OPC UA llegan a la nube, puede analizar una gran cantidad de información. Organice los datos y cree informes con gráficos y visualizaciones para obtener información. En este artículo se muestra cómo conectar los datos a Real-Time Intelligence y crear un panel en tiempo real.
Ingerir datos en Real-Time Intelligence
En esta sección, configura un Microsoft Fabric eventstream para conectar tu centro de eventos a una base de datos KQL en Inteligencia en tiempo real. Este proceso incluye configurar un mapeo de datos para transformar los datos de la carga útil desde su formato JSON a columnas en KQL.
Crear un Eventstream
En esta sección, creará un flujo de eventos que se utilizará para llevar los datos de Event Hubs a Microsoft Fabric Real-Time Intelligence y, finalmente, hasta una base de datos de KQL.
Para empezar, vaya a la experiencia de Inteligencia en tiempo real 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 realizado hasta el momento y asegúrese de que los datos están fluyendo al flujo de eventos.
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 en 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 Identificador de activo cuerda / cadena Temperatura Decimal Marca de tiempo fecha y hora Una vez que se crea la tabla OPCUA, seleccione la base de datos y use el botón Consulta con código para abrir una ventana de consulta.
Borre el código existente y ejecute la siguiente consulta KQL a fin de crear una asignación de datos para la tabla. El mapeo de datos se llamará opcua_mapping.
.create table ['OPCUA'] ingestion json mapping 'opcua_mapping' '[{"column":"AssetId", "Properties":{"Path":"$[\'AssetId\']"}},{"column":"Temperature", "Properties":{"Path":"$[\'ThermostatTemperatureF\']"}},{"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, seleccione opcua_mapping, después 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 se muestra en la vista en vivo de Eventstream como destino.
Espere unos minutos para que los datos se propague y para que el estado del destino cambie a Activo. Debería ver que los datos del centro de eventos comienzan a aparecer en la versión preliminar. Si los datos no aparecen en la versión preliminar, espere unos minutos más y actualice la versión preliminar de nuevo.
Si lo desea, también puede ver y consultar estos datos directamente en la base de datos KQL.
Cree un panel 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.
Nota:
Solo puedes crear paneles en tiempo real si el administrador de tu inquilino ha habilitado la creación de paneles en tiempo real en tu 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 de la sección Crear un nuevo panel de control para crear un nuevo panel de control en tiempo real desde las funcionalidades de Inteligencia en tiempo real.
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 Centro de eventos/Base de datos de KQL.
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)
-
Fuente: 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. A continuación, seleccione Cerrar para cerrar el panel de parámetros.
Crear mosaico de gráfico de líneas
A continuación, agrega un mosaico a tu panel para mostrar un gráfico de líneas de la temperatura a lo largo del tiempo para el activo y el intervalo de tiempo seleccionados.
En la pestaña Inicio , seleccione la lista desplegable Agregar objeto visual y, a continuación, seleccione Gráfico de líneas para agregar un nuevo icono de gráfico de líneas.
En el Editor de consultas, escriba la siguiente consulta KQL para el icono. Esta consulta aplica los parámetros de filtro de los selectores del panel de control para el intervalo de tiempo y el activo, y extrae los registros resultantes con su marca de tiempo y temperatura.
OPCUA | where Timestamp between (_startTime.._endTime) | where AssetId == _asset | project Timestamp, TemperatureEjecute la consulta para comprobar que se pueden encontrar datos. El gráfico de líneas muestra los datos. El objeto visual de gráfico de líneas requiere al menos dos puntos de datos para mostrar, por lo que, si no ve ningún dato, puede seleccionar un intervalo de tiempo más amplio o esperar a que lleguen más datos a la base de datos antes de ejecutar la consulta.
Seleccione la pestaña Visualización y establezca o compruebe los valores siguientes:
- Tipo de objeto visual: Gráfico de líneas (selección predeterminada)
-
General:
- Nombre de icono: Temperatura en el tiempo
-
Datos:
- Columnas Y: Inferir: Temperatura (decimal) (selección predeterminada)
- Columnas X: Infer: Marca de tiempo (datetime) ( selección predeterminada)
-
Eje Y:
- Etiqueta: Unidades
-
Eje X:
- Etiqueta: Marca de tiempo
Seleccione Listo para crear el icono.
Vea el mosaico finalizado en su panel.
Crear iconos de valores máximos
A continuación, cree un icono para mostrar el valor máximo de temperatura.
Seleccione la lista desplegable Agregar visual y, después, seleccione Estadística.
En el Editor de consultas, escriba la siguiente consulta KQL para el icono. Esta consulta aplica los parámetros de filtro de los selectores del panel para el intervalo de tiempo y el activo, y obtiene 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 TemperatureEjecute la consulta para comprobar que se puede encontrar una temperatura máxima. El valor máximo de temperatura debe mostrarse en la vista previa visual.
Seleccione la pestaña Visualización y establezca o compruebe los valores siguientes:
- Tipo de objeto visual: Estadísticas (selección predeterminada)
-
General:
- Nombre de icono: Temperatura máxima
-
Datos:
- Columna valor: Infer: Temperatura (decimal) ( selección predeterminada)
Seleccione Listo 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).
Guarde el panel completado.
Ahora tienes un panel que muestra diferentes tipos de visualizaciones para los datos de los activos 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 utilizado un flujo de eventos para ingerir los datos de sus Event Hubs en una base de datos KQL de Real-Time Intelligence de Microsoft Fabric. A continuación, creaste un panel de control en tiempo real basado en esos datos, que rastrea visualmente los valores cambiantes 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 del tutorial para usar Operaciones de IoT de Azure para administrar los datos de los dispositivos desde la implementación hasta el análisis en la nube.
Limpieza de recursos
Si vas a continuar con el siguiente tutorial, conserva todos tus recursos.
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 --name $AIO_INSTANCE_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.
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.