Consultar mensagens de notificação de propriedades de ativos - AWS IoT SiteWise

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Consultar mensagens de notificação de propriedades de ativos

Para consultar notificações de propriedades de ativos, crie AWS IoT Core regras compostas por SQL declarações.

AWS IoT SiteWise publica atualizações de dados de propriedades de ativos no AWS IoT Core no seguinte 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 estrutura na values lista é uma estrutura timestamp-quality-value (TQV).

  • O timestamp contém o horário Unix epoch atual em segundos, com correção em nanossegundos.

  • quality contém uma das seguintes strings, que indicam a qualidade do ponto de dados:

    • GOOD – os dados não são afetados por nenhum problema.

    • BAD – os dados são afetados por um problema, como a falha do sensor.

    • UNCERTAIN – os dados são afetados por um problema, como a imprecisão do sensor.

  • O value contém um dos campos a seguir, a depender do tipo de propriedade:

    • booleanValue

    • doubleValue

    • integerValue

    • stringValue

Para analisar valores fora da values matriz, você precisa usar consultas complexas de objetos aninhados nas declarações de suas regras. SQL Para obter mais informações, consulte NConsultas de objeto aninhado no AWS IoT Guia do desenvolvedor ou consulte o Publique atualizações de valor de propriedades no Amazon DynamoDB tutorial para ver um exemplo específico de análise de mensagens de notificação de propriedade de ativos.

exemplo Exemplo de consulta para extrair a matriz de valores

A instrução a seguir demonstra como consultar a matriz de valores de propriedade atualizados para uma propriedade específica de tipo duplo em todos os ativos com essa propriedade.

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'

A instrução de consulta de regra anterior produz dados no formato a seguir.

{ "windspeed": [ 26.32020195042838, 26.282584572975477, 26.352566977372508, 26.283084346171442, 26.571883739599322, 26.60684140743005, 26.628738636715045, 26.273486932802125, 26.436379105473964, 26.600590095377303 ] }
exemplo Exemplo de consulta para extrair um único valor

A instrução a seguir demonstra como consultar o primeiro valor da matriz de valores de propriedade para uma propriedade específica de tipo duplo em todos os ativos com essa propriedade.

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'

A instrução de consulta de regra anterior produz dados no formato a seguir.

{ "windspeed": 26.32020195042838 }
Importante

Essa instrução de consulta de regra ignora atualizações de valor diferentes da primeira em cada lote. Cada lote pode conter até 10 valores. Se você precisar incluir os valores restantes, deverá configurar uma solução mais complexa para gerar valores de propriedade do ativo para outros serviços. Por exemplo, você pode configurar uma regra com uma AWS Lambda ação para republicar cada valor na matriz em outro tópico e configurar outra regra para consultar esse tópico e publicar cada valor na ação de regra desejada.