Tutorial: Obtención de información de los datos procesados

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.

Captura de pantalla de un Eventstream con un origen de AzureEventHub.

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.

  1. 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.

  2. 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.

    Captura de pantalla del Eventstream con datos del origen de AzureEventHub.

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.

  1. 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.

  2. 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
  3. 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.

    Captura de pantalla que muestra el botón Explorar los datos.

  4. 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.

    Captura de pantalla que agrega una asignación existente.

    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.

Captura de pantalla de Eventstream con datos en el destino de la base de datos KQL.

Si lo desea, también puede ver y consultar estos datos directamente en la base de datos KQL.

Captura de pantalla de los mismos datos que se consultan desde 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.

  1. Cambie a la pestaña Administrar y seleccione Parámetros. Seleccione + Agregar para agregar un nuevo parámetro.

    Recorte de pantalla de cómo agregar un parámetro a un panel.

  2. 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
  3. 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.

  1. 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.

    Captura de pantalla de cómo agregar un icono de gráfico de líneas a un panel.

  2. 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, Temperature
    

    Ejecute 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.

    Captura de pantalla de cómo agregar una consulta de mosaico.

  3. 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.

    Captura de pantalla que muestra cómo agregar un mosaico visual.

Vea el mosaico finalizado en su panel.

Captura de pantalla del panel con un icono.

Crear iconos de valores máximos

A continuación, cree un icono para mostrar el valor máximo de temperatura.

  1. Seleccione la lista desplegable Agregar visual y, después, seleccione Estadística.

  2. 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 Temperature
    

    Ejecute 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.

  3. 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.

    Captura de pantalla de cómo agregar un objeto visual de estadísticas.

  4. Vea el icono terminado en el panel (es posible que desee cambiar el tamaño del icono para que el texto completo esté visible).

    Captura de pantalla del panel con dos iconos.

  5. 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.