

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.

# Consulte las notificaciones de propiedades de activos en AWS IoT SiteWise
<a name="query-notification-messages"></a>

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

AWS IoT SiteWise publica las actualizaciones de los datos de propiedades 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",
          "nullValue": {
            "valueType": "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`
  + `nullValue`

`nullValue`— Una estructura con el siguiente campo que indica el tipo de valor de la propiedad con un valor nulo y una calidad de `BAD` o. `UNCERTAIN`
+ `valueType`— Enuma de \$1"B», «D», «S», «I"\$1

Para analizar valores fuera de la matriz `values`, debe usar consultas complejas de objetos anidados en las instrucciones SQL de sus reglas. Para obtener más información, consulte [Consultas de objetos anidados](https://docs.aws.amazon.com/iot/latest/developerguide/iot-sql-nested-queries.html) en la *Guía para desarrolladores de AWS IoT *, o consulte el tutorial de [Publicar actualizaciones de valor de propiedad en Amazon DynamoDB](publish-to-amazon-dynamodb.md) para ver un ejemplo concreto de análisis sintáctico de mensajes de notificación de propiedades de activo.

**Example 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
  ]
}
```

**Example 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, puede 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.