Consulta los mensajes de notificación de propiedades de los activos - 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.

Consulta los mensajes de notificación de propiedades de los activos

Para consultar las notificaciones de propiedades de activos, cree AWS IoT Core reglas compuestas por SQL declaraciones.

AWS IoT SiteWise publica las actualizaciones de los datos de propiedad de los activos en AWS IoT Core en el siguiente formato.

{ "type": "PropertyValueUpdate", "payload": { "assetId": "String", "propertyId": "String", "values": [ { "timestamp": { "timeInSeconds": Number, "offsetInNanos": Number }, "quality": "String", "value": { "booleanValue": Boolean, "doubleValue": Number, "integerValue": Number, "stringValue": "String" } } ] } }

Cada estructura de la values lista es una estructura timestamp-quality-value (TQV).

  • El timestamp contiene el tiempo actual en formato de tiempo Unix en segundos con desplazamiento en nanosegundos.

  • quality contiene una de las siguientes cadenas, que indican la calidad del punto de datos:

    • GOOD: los datos no se ven afectados por ningún problema.

    • BAD: los datos se ven afectados por un problema, como un fallo del sensor.

    • UNCERTAIN: los datos se ven afectados por un problema, como la falta de precisión de un sensor.

  • El value contiene uno de los siguientes campos, en función del tipo de propiedad:

    • booleanValue

    • doubleValue

    • integerValue

    • stringValue

Para analizar los valores de la values matriz, debes usar consultas complejas de objetos anidados en las declaraciones de tus reglasSQL. Para obtener más información, consulte Consultas de objetos anidados en la Guía para desarrolladores de AWS IoT , o consulte el tutorial de Publicar actualizaciones del valor de las propiedades en Amazon DynamoDB para ver un ejemplo concreto de análisis sintáctico de mensajes de notificación de propiedades de activo.

ejemplo Consulta de ejemplo para extraer la matriz de valores

La siguiente instrucción demuestra cómo consultar la matriz de valores de propiedad actualizados para una propiedad de tipo doble específica en todos los activos con esa propiedad.

SELECT (SELECT VALUE (value.doubleValue) FROM payload.values) AS windspeed FROM '$aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/+/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE' WHERE type = 'PropertyValueUpdate'

La instrucción de consulta de regla anterior genera los datos con el siguiente formato.

{ "windspeed": [ 26.32020195042838, 26.282584572975477, 26.352566977372508, 26.283084346171442, 26.571883739599322, 26.60684140743005, 26.628738636715045, 26.273486932802125, 26.436379105473964, 26.600590095377303 ] }
ejemplo Consulta de ejemplo para extraer un solo valor

La siguiente instrucción demuestra cómo consultar el primer valor de la matriz de valores de propiedad para una propiedad de tipo doble específica en todos los activos con esa propiedad.

SELECT get((SELECT VALUE (value.doubleValue) FROM payload.values), 0) AS windspeed FROM '$aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/+/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE' WHERE type = 'PropertyValueUpdate'

La instrucción de consulta de regla anterior genera los datos con el siguiente formato.

{ "windspeed": 26.32020195042838 }
importante

Esta instrucción de consulta de regla ignora las actualizaciones de valores distintas de la primera en cada lote. Cada lote puede contener hasta 10 valores. Si necesita incluir los valores restantes, debe configurar una solución más compleja para generar valores de propiedad de activos a otros servicios. Por ejemplo, puedes configurar una regla con una AWS Lambda acción para volver a publicar cada valor de la matriz en otro tema y configurar otra regla para consultar ese tema y publicar cada valor en la acción de regla deseada.