Compartir por


Enriquecimiento de datos en una canalización de versión preliminar del procesador de datos de Azure IoT

Importante

Operaciones de IoT de Azure, habilitado por Azure Arc, está actualmente en VERSIÓN PRELIMINAR. No se debería usar este software en versión preliminar en entornos de producción.

Consulte Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que se encuentran en la versión beta, en versión preliminar o que todavía no se han publicado para que estén disponibles con carácter general.

La fase de enriquecimiento es una fase de canalización intermedia opcional que permite enriquecer los datos de la canalización con información contextual y de referencia de los conjuntos de datos del almacén de datos de referencia. La fase de enriquecimiento le ayuda a contextualizar datos de orígenes de datos dispares para que los datos de la canalización sean más significativos y accionables.

Puede unir los datos de la canalización a los datos de un conjunto de datos de referencia mediante etiquetas comunes, identificadores o marcas de tiempo.

Requisitos previos

Para configurar y usar una fase de canalización enriquecida, necesita una instancia implementada de Azure IoT Data Processor Preview que incluya el componente opcional del procesador de datos.

Configuración de la fase

La configuración JSON de la fase de enriquecimiento define sus detalles. Para crear la fase, puede interactuar con la interfaz de usuario basada en formularios o proporcionar la configuración JSON en la pestaña Opciones avanzadas:

Campo Descripción Obligatorio Opciones Ejemplo
Nombre Un nombre para mostrar en la interfaz de usuario del procesador de datos. - ERP Context
Descripción Una descripción sencilla de lo que hace la fase de enriquecimiento. No - Enrich with vendor dataset
Dataset Seleccione el conjunto de datos con los datos de referencia para el enriquecimiento. - Vendor dataset
Ruta de acceso de salida Ruta de acceso a la ubicación del mensaje saliente para colocar los datos de referencia. - .payload.erp
Enriquecer como matriz Si es true, la entrada enriquecida siempre es una matriz. No No/Yes Yes
Límite Limite las entradas numéricas devueltas del conjunto de datos de referencia. Esta configuración controla el número de registros que se enriquecen en el mensaje. No - 100
Operador > de las condiciones Operador de condición de combinación para el enriquecimiento de datos. No Key match/Past nearest/Future nearest Key match
Ruta de acceso de la entrada > de las condiciones Ruta de acceso a la clave que se va a usar para que coincida con cada condición. No - .payload.asset
Propiedad > de las condiciones Nombre de propiedad o marca de tiempo para la operación de condición de combinación proporcionada en la configuración del conjunto de datos No Seleccione un nombre de propiedad o una marca de tiempo en la lista desplegable. equipmentName

Operadores de condición

Condición de combinación Descripción
Key match Combinación basada en identificador que combina los datos para los que hay una coincidencia exacta entre el nombre de la clave o propiedad especificado en la fase de enriquecimiento y el almacén de datos de referencia.
Past nearest Combinación basada en marca de tiempo que combina los datos de referencia con la marca de tiempo más cercana del almacén de datos de referencia en relación con la marca de tiempo del mensaje proporcionada en la fase de enriquecimiento.
Future nearest Combinación basada en marca de tiempo que combina los datos de referencia con la marca de tiempo futura más cercana en el almacén de datos de referencia en relación con la marca de tiempo del mensaje proporcionada en la fase de enriquecimiento.

Notas:

  • Si no proporciona una condición, todos los datos de referencia del conjunto de datos se enriquecen.
  • Si la ruta de acceso de entrada hace referencia a una marca de tiempo, las marcas de tiempo deben estar en el formato RFC3339.
  • Key match distingue mayúsculas de minúsculas.
  • Cada fase de enriquecimiento puede tener hasta 10 condiciones.
  • Cada fase de enriquecimiento solo puede tener una condición de combinación basada en tiempo: Past nearest o Future nearest.
  • Si una combinación basada en identificadores Key match se combina con condiciones de combinación Past nearest o Future nearest basadas en marca de tiempo, Key match se aplica primero para filtrar las entradas devueltas antes de que se aplique Past nearest o Future nearest.
  • Puede aplicar varias condiciones Key match a las entradas devueltas. Una operación lógica AND se realiza entre varias condiciones Key match.

Si el pod de la canalización deja de funcionar inesperadamente, existe la posibilidad de que la combinación con la canalización de datos de eventos pendientes use valores no válidos o futuros del conjunto de datos del almacén de datos de referencia. Esta situación puede provocar un enriquecimiento de datos no deseado. Para solucionar este problema y filtrar estos datos, use la condición Past nearest.

Mediante el uso de la condición Past nearest en la fase de enriquecimiento, solo se consideran valores anteriores de los datos de referencia para el enriquecimiento. Este enfoque garantiza que los datos que se van a unir no incluyan ningún valor futuro del conjunto de datos del almacén de datos de referencia. La condición Past nearest filtra los valores futuros, lo que permite un enriquecimiento de datos más preciso y confiable.

Configuración de ejemplo

En la configuración de la fase de enriquecimiento, defina las siguientes propiedades:

Campo Ejemplo
Nombre enrichment
Descripción enriquecimiento con los datos de equipos
Dataset equipment
Ruta de acceso de salida .payload
Enriquecer como matriz
Operador > de condición Key match
Ruta de acceso de la entrada > de la condición .payload.assetid
Propiedad > de condición equipment name

La combinación usa una condición que coincide con el valor assetid del mensaje entrante con el campo equipment name del conjunto de datos de referencia. Esta configuración enriquece el mensaje con los datos pertinentes del conjunto de datos. Cuando la fase de enriquecimiento aplica la condición de combinación, agrega los datos contextuales del conjunto de datos de referencia al mensaje a medida que fluye a través de la canalización.

Ejemplo

Este ejemplo se basa en el ejemplo de conjuntos de datos de referencia. Quiere enriquecer los datos de series temporales que una canalización recibe de una instalación de fabricación con datos de referencia mediante la fase de enriquecimiento. En este ejemplo se usa una carga entrante similar a la siguiente cadena JSON:

payload: {
      { 
        "assetid": "Oven", 
        "timestamp": "T05:15:00.000Z", 
        "temperature": 120, 
        "humidity": 99 
    }, 
      { 
        "assetid": "Oven", 
        "timestamp": "T05:16:00.000Z", 
        "temperature": 127, 
        "humidity": 98 
    }, 
      { 
        "AssetID": "Mixer", 
        "timestamp": "T05:17:00.000Z", 
        "temperature": 89, 
        "humidity": 95 
    }, 
      { 
        "AssetID": "Slicer", 
        "timestamp": "T05:19:00.000Z", 
        "temperature": 56, 
        "humidity": 30 
    } 
} 

El siguiente JSON muestra un ejemplo de un mensaje de salida enriquecido basado en la configuración anterior:

payload: {
      { 
        "assetid": "Oven", 
        "timestamp": "2023-05-25T05:15:00.000Z", 
        "temperature": 120, 
        "humidity": 99, 
        "location": "Seattle", 
        "installationDate": "2002-03-05T00:00:00Z",  
        "isSpare": false  
    }, 
      { 
        "assetid": "Oven", 
        "timestamp": "2023-05-25T05:16:00.000Z", 
        "temperature": 127, 
        "humidity": 98, 
        "location": "Seattle", 
        "installationDate": "2002-03-05T00:00:00Z",  
        "isSpare": false  
    }, 
      { 
        "assetid": "Mixer", 
        "timestamp": "2023-05-25T05:17:00.000Z", 
        "temperature": 89, 
        "humidity": 95, 
        "location": "Tacoma",  
        "installationDate": "2005-11-15T00:00:00Z",  
        "isSpare": false  
    }, 
      { 
        "assetid": "Slicer", 
        "Timestamp": "2023-05-25T05:19:00.000Z", 
        "Temperature": 56, 
        "humidity": 30, 
        "location": "Seattle",  
        "installationDate": "2021-04-25T00:00:00Z",  
        "isSpare": true  
    } 
}