Creación de un grafo de flujo de datos en operaciones de Azure IoT

Un gráfico de flujo de datos es una canalización de procesamiento compuesta que transforma los datos a medida que se mueven entre orígenes y destinos. Un flujo de datos estándar sigue una secuencia de enriquecimiento, filtro y mapa fija. Un gráfico de flujo de datos permite encadenar transformaciones en cualquier orden, bifurcar en rutas paralelas y agregar datos a lo largo de las ventanas de tiempo.

En este artículo se explica cómo crear un grafo de flujo de datos paso a paso. Para obtener información general sobre los gráficos de flujo de datos y las transformaciones disponibles, consulte Introducción a los gráficos de flujo de datos.

Actualmente, los gráficos de flujo de datos solo admiten puntos de conexión MQTT, Kafka y OpenTelemetry. No soportan otros tipos de endpoints como Data Lake, Microsoft Fabric OneLake, Azure Data Explorer y Local Storage.

Las transformadas utilizan un lenguaje de expresiones para calcular valores, condiciones de prueba y campos de referencia. Las expresiones se refieren a las entradas por posición, no por nombre: la primera entrada en la inputs lista es $1, la segunda es $2, y así sucesivamente. Las funciones integradas, como cToF, convierten y manipulan esos valores.

Para la lista completa de operadores, funciones, tipos de datos y campos de metadatos, consulte la referencia Expressions.

Prerrequisitos

  • CLI de Azure está instalado en la máquina de desarrollo. Consulta las extensiones disponibles de CLI de Azure para la versión mínima requerida para usar la extensión azure-iot-ops. Use az --version para comprobar la versión y az upgrade para actualizarla si es necesario. Para más información, consulte Instalación de la CLI de Azure.

  • Extensión Operaciones de IoT de Azure para el CLI de Azure. Use el siguiente comando para agregar la extensión o actualizarla a la versión más reciente:

    az extension add --upgrade --name azure-iot-ops
    

Los CLI de Azure ejemplos de este artículo usan variables de entorno para que puedas establecer cada valor una vez y luego copiar y pegar los comandos as-is. Si usas el entorno Operaciones de IoT de Azure Codespaces del quickstart, estas variables ya están configuradas para ti y puedes saltarte este paso. De lo contrario, configura las siguientes variables de entorno en tu shell antes de ejecutar los comandos.

Los siguientes scripts establecen las variables de entorno más usadas:

Variable del entorno Descripción
SUBSCRIPTION_ID El ID de la suscripción que contiene tu instancia de Operaciones de IoT de Azure.
RESOURCE_GROUP El nombre del grupo de recursos que contiene tu instancia de Operaciones de IoT de Azure.
AIO_INSTANCE_NAME El nombre de tu instancia de Operaciones de IoT de Azure. Para listar tus instancias, ejecuta az iot ops list -o table.
CLUSTER_NAME El nombre del clúster Kubernetes habilitado para Azure Arc que aloja tu instancia.
LOCATION La región de Azure para usar para nuevos recursos, por ejemplo eastus.
SUBSCRIPTION_ID=<subscription-id>
RESOURCE_GROUP=<resource-group-name>
AIO_INSTANCE_NAME=<instance-name>
CLUSTER_NAME=<cluster-name>
LOCATION=<region>

Solo necesitas establecer las variables que utiliza este artículo. Este artículo podría utilizar variables de entorno adicionales para los nombres de recursos que elijas. El artículo explica cómo situarlos donde se introducen.

Este artículo también utiliza las GRAPH_NAME variables de entorno y PROFILE para el grafo de flujo de datos y los nombres de perfil. Configura cada uno antes de ejecutar los comandos relacionados.

Creación de un gráfico de flujo de datos

Un gráfico de flujo de datos contiene tres tipos de elementos: orígenes que aportan datos, transforman los procesos y destinos que los envían. Conéctelos en el orden en que desea que fluyan los datos.

  1. En la experiencia de operaciones, accede a tu instancia de Operaciones de IoT de Azure.

  2. Seleccione Gráfico de flujo de datos>Crear gráfico de flujo de datos.

    Captura de pantalla de la experiencia de operaciones que muestra el gráfico de flujo de datos.

  3. Escriba un nombre para el gráfico de flujo de datos y seleccione un perfil de flujo de datos. El perfil predeterminado está seleccionado de forma predeterminada.

    Captura de pantalla del diálogo de creación de experiencia de operaciones que muestra el campo de nombre y la lista desplegable de perfil.

  4. Compile la canalización agregando elementos al lienzo:

    1. Agregar un origen: seleccione el punto de conexión de origen y configure los temas a los que suscribirse para los mensajes entrantes.

      Captura de pantalla del panel de configuración de origen de la experiencia de operaciones que muestra la lista desplegable de puntos de conexión y la entrada del tema.

    2. Agregar transformaciones: seleccione una o varias transformaciones para procesar los datos. Las transformaciones disponibles incluyen asignación, filtrado, bifurcación, concatenación, ventana y limitación. Para más información sobre cada tipo de transformación, consulte Introducción a los gráficos de flujo de datos.

      Captura de pantalla del menú de selección de transformación de experiencia de operaciones que muestra los tipos de transformación disponibles.

      Captura de pantalla de la experiencia de operaciones que muestra un ejemplo de configuración de transformación de rama.

    3. Agregar un destino: seleccione el punto de conexión de destino y configure el tema o la ruta de acceso para enviar datos procesados.

      Captura de pantalla de la experiencia de operaciones que muestra un ejemplo de destino.

  5. Conecte los elementos en el orden en que desea que fluyan los datos.

    Captura de pantalla del lienzo de la experiencia operativa que muestra una canalización de origen, transformación y destino conectada.

  6. Seleccione Guardar para implementar el gráfico de flujo de datos.

Configuración del origen

El origen define dónde entran los datos en la canalización. Especifique una referencia de punto de conexión y uno o varios temas.

En el editor de gráficos de flujo de datos, seleccione el elemento de origen y configure:

Configuración Descripción
Punto final Punto de conexión de flujo de datos a utilizar. Seleccione el valor predeterminado para el agente MQTT local.
Temas Uno o varios temas a los que suscribirse para los mensajes entrantes.

Añadir transformaciones

Transforma los datos de procesamiento entre el origen y el destino. Cada transformación hace referencia a un artefacto incorporado y tiene reglas de configuración.

Las transformaciones integradas disponibles son:

Transformación Artefacto Descripción
Map azureiotoperations/graph-dataflow-map:1.0.0 Cambiar el nombre, reestructurar, calcular y copiar campos.
Filter azureiotoperations/graph-dataflow-filter:1.0.0 Descartar los mensajes que cumplan una condición.
Rama azureiotoperations/graph-dataflow-branch:1.0.0 Dirija cada mensaje a una ruta true o false en función de una condición.
Concatenate azureiotoperations/graph-dataflow-concatenate:1.0.0 Combinar dos o más rutas en una sola.
Ventana azureiotoperations/graph-dataflow-window:1.0.0 Recopile mensajes a lo largo de un intervalo de tiempo y, a continuación, agregue.
Throttle azureiotoperations/graph-dataflow-throttle:1.0.0 Limita la tasa de mensajes por patrón de tema MQTT.

Para obtener más información sobre cómo enriquecer mensajes con datos externos, consulte Enriquecimiento con datos externos.

En el editor de gráficos de flujo de datos, seleccione Agregar transformación y elija el tipo de transformación. Configure las reglas en el editor visual.

Encadenar varias transformaciones

Encadena cualquier cantidad de transformaciones. Conéctelos en la nodeConnections sección en el orden en que desea que fluyan los datos:

Arrastre las conexiones entre transformaciones en el lienzo para definir el orden de procesamiento.

Configuración del destino

El destino define hacia dónde van los datos procesados. Especifique una referencia de punto de conexión y un tema o ruta de acceso.

Seleccione el elemento de destino y configure:

Configuración Descripción
Punto final Punto de conexión de flujo de datos al que se van a enviar datos.
Topic Tema o ruta de acceso a la que publicar los datos procesados.

Para el enrutamiento dinámico de temas en función del contenido del mensaje, consulte Enrutamiento de mensajes a distintos temas.

Comprobación de que el gráfico de flujo de datos funciona

Después de implementar un gráfico de flujo de datos, compruebe que se está ejecutando:

En la experiencia de operaciones, selecciona tu gráfico de flujo de datos para ver su estado. Un gráfico correcto muestra un estado En ejecución .