Transformación de datos (transformaciones) - AWS IoT SiteWise

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Transformación de datos (transformaciones)

Las transformaciones son expresiones matemáticas que asignan puntos de datos de la propiedad de un activo de un formulario a otro. Una expresión de transformación consta de variables de propiedad de activos, literales, operadores y funciones comunes. Los puntos de datos transformados mantienen una one-to-one relación con los puntos de datos de entrada. AWS IoT SiteWise calcula un nuevo punto de datos transformado cada vez que alguna de las propiedades de entrada recibe un nuevo punto de datos.

Por ejemplo, si su activo tiene un flujo de medición de temperatura denominado Temperature_C con unidades en Celsius, puede convertir cada punto de datos a Fahrenheit con la fórmula Temperature_F = 9/5 * Temperature_C + 32. Cada vez que AWS IoT SiteWise recibe un punto de datos en el flujo de Temperature_C medición, el Temperature_F valor correspondiente se calcula en unos segundos y está disponible como Temperature_F propiedad.

Si la transformación contiene más de una variable, el punto de datos que llegue antes inicia el cálculo inmediatamente. Considere un ejemplo en el que un fabricante de piezas utiliza una transformación para monitorear la calidad del producto. Aplicando estándares diferentes según el tipo de pieza, el fabricante utiliza las siguientes mediciones para representar el proceso:

  • Part_Number: una cadena que identifica el tipo de pieza.

  • Good_Count: un número entero que aumenta en uno si la pieza cumple el estándar.

  • Bad_Count: un número entero que aumenta en uno si la pieza no cumple el estándar.

El fabricante crea además una transformación Quality_Monitor, que equivale a if(eq(Part_Number, "BLT123") and (Bad_Count / (Good_Count + Bad_Count) > 0.1), "Caution", "Normal").

Esta transformación monitorea el porcentaje de piezas defectuosas producidas para un tipo de pieza específico. Si el número de pieza es BLT123 y el porcentaje de piezas defectuosas supera el 10 por ciento (0,1), la transformación devuelve el mensaje "Caution". De lo contrario, la transformación devuelve el mensaje "Normal".

nota
  • Si Part_Number recibe un nuevo punto de datos antes que otras mediciones, la transformación de Quality_Monitor utiliza el nuevo valor de Part_Number y los valores de Good_Count y Bad_Count más recientes. Para evitar errores, reinicie Good_Count y Bad_Count antes de la siguiente ronda de fabricación.

  • Utilice las métricas si quiere evaluar las expresiones solo después de que todas las variables hayan recibido nuevos puntos de datos.

Definición de transformaciones (consola)

Al definir una transformación para un modelo de activos en la AWS IoT SiteWise consola, se especifican los siguientes parámetros:

  • Nombre: el nombre de la propiedad.

  • Unidad: (opcional) la unidad científica de la propiedad, como mm o Celsius.

  • Tipo de datos: el tipo de datos de la transformación, que puede ser Doble o Cadena.

  • ID externo: (opcional) Este es un ID definido por el usuario. Para obtener más información, consulte Hacer referencia a objetos con identificadores externos en la Guía del usuario de AWS IoT SiteWise .

  • Fórmula: la expresión de transformación. Las expresiones de transformación no pueden usar funciones de agregación ni funciones temporales. Para abrir la función de autocompletar, comienza a escribir o presiona la tecla de flecha hacia abajo. Para obtener más información, consulte Uso de expresiones de fórmula.

    importante

    Las transformaciones pueden agregar propiedades de tipo entero, doble, booleano o cadena. Los valores booleanos se convierten en 0 (falso) y 1 (verdadero).

    Las transformaciones deben especificar una o más propiedades que no sean atributos y cualquier número de propiedades de atributo. AWS IoT SiteWise calcula un nuevo punto de datos transformado cada vez que la propiedad de entrada de no atributo recibe un nuevo punto de datos. Los nuevos valores de atributo no lanzan actualizaciones de transformación. La misma tasa de solicitudes para las operaciones de la API de datos de propiedades de activos se aplica a los resultados del cálculo de transformaciones.

    Las expresiones de fórmula solo pueden generar valores dobles o de cadena. Las expresiones anidadas pueden generar otros tipos de datos, como cadenas, pero la fórmula en su conjunto debe evaluarse como un número o una cadena. Puede usar la función jp para convertir una cadena en un número. El valor booleano debe ser 1 (verdadero) o 0 (falso). Para obtener más información, consulte Valores indefinidos, infinitos y de desbordamiento.

Para obtener más información, consulte Creación de un modelo de activos (consola).

Definir transformaciones (AWS CLI)

Al definir una transformación para un modelo de activos con la AWS IoT SiteWise API, se especifican los siguientes parámetros:

  • name: el nombre de la propiedad.

  • unit: (opcional) la unidad científica de la propiedad, como mm o Celsius.

  • dataType: el tipo de datos de la transformación, que debe ser DOUBLE o STRING.

  • externalId— (Opcional) Se trata de un ID definido por el usuario. Para obtener más información, consulte Hacer referencia a objetos con identificadores externos en la Guía del usuario de AWS IoT SiteWise .

  • expression – Una expresión de transformación. Las expresiones de transformación no pueden usar funciones de agregación ni funciones temporales. Para obtener más información, consulte Uso de expresiones de fórmula.

  • variables – Una lista de variables que define las otras propiedades del activo que se van a utilizar en la expresión. Cada estructura de variable contiene un nombre sencillo para utilizar en la expresión y una estructura de value que identifica qué propiedad vincular a esa variable. La estructura value contiene la siguiente información:

    • propertyId: el ID de la propiedad desde la que se van a introducir los valores. Puede usar el nombre de la propiedad en lugar de su ID.

    importante

    Las transformaciones pueden agregar propiedades de tipo entero, doble, booleano o cadena. Los valores booleanos se convierten en 0 (falso) y 1 (verdadero).

    Las transformaciones deben especificar una o más propiedades que no sean atributos y cualquier número de propiedades de atributo. AWS IoT SiteWise calcula un nuevo punto de datos transformado cada vez que la propiedad de entrada de no atributo recibe un nuevo punto de datos. Los nuevos valores de atributo no lanzan actualizaciones de transformación. La misma tasa de solicitudes para las operaciones de la API de datos de propiedades de activos se aplica a los resultados del cálculo de transformaciones.

    Las expresiones de fórmula solo pueden generar valores dobles o de cadena. Las expresiones anidadas pueden generar otros tipos de datos, como cadenas, pero la fórmula en su conjunto debe evaluarse como un número o una cadena. Puede usar la función jp para convertir una cadena en un número. El valor booleano debe ser 1 (verdadero) o 0 (falso). Para obtener más información, consulte Valores indefinidos, infinitos y de desbordamiento.

ejemplo definición de transformación

El siguiente ejemplo muestra una propiedad de transformación que convierte los datos de medición de temperatura de un activo de Celsius a Fahrenheit. Este objeto es un ejemplo de una AssetModelpropiedad que contiene una transformación. Puede especificar este objeto como parte de la carga útil de la solicitud de CreateAssetmodelo para crear una propiedad de transformación. Para obtener más información, consulte Crear un modelo de activos (AWS CLI).

{ ... "assetModelProperties": [ ... { "name": "Temperature F", "dataType": "DOUBLE", "type": { "transform": { "expression": "9/5 * temp_c + 32", "variables": [ { "name": "temp_c", "value": { "propertyId": "Temperature C" } } ] } }, "unit": "Fahrenheit" } ], ... }
ejemplo definición de transformación que contiene tres variables

En el siguiente ejemplo, se muestra una propiedad de transformación que devuelve un mensaje de advertencia ("Caution") si más del 10 por ciento de las piezas del BLT123 no cumplen el estándar. De lo contrario, devuelve un mensaje informativo ("Normal").

{ ... "assetModelProperties": [ ... { "name": "Quality_Monitor", "dataType": "STRING", "type": { "transform": { "expression": "if(eq(Part_Number,"BLT123") and (Bad_Count / (Good_Count + Bad_Count) > 0.1), "Caution", "Normal")", "variables": [ { "name": "Part_Number", "value": { "propertyId": "Part Number" } }, { "name": "Good_Count", "value": { "propertyId": "Good Count" } }, { "name": "Bad_Count", "value": { "propertyId": "Bad Count" } } ] } } } ... }