Consultas de objeto aninhado - AWS IoT Core

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á.

Consultas de objeto aninhado

Você pode usar cláusulas SELECT aninhadas para consultar atributos dentro de matrizes e objetos JSON internos. Compatível com a versão de 23/03/2016 do SQL e posteriores.

Considere a seguinte mensagem MQTT:

{ "e": [ { "n": "temperature", "u": "Cel", "t": 1234, "v": 22.5 }, { "n": "light", "u": "lm", "t": 1235, "v": 135 }, { "n": "acidity", "u": "pH", "t": 1235, "v": 7 } ] }
exemplo

Você pode converter valores em uma nova matriz com a seguinte regra.

SELECT (SELECT VALUE n FROM e) as sensors FROM 'my/topic'

A regra gera a seguinte saída:

{ "sensors": [ "temperature", "light", "acidity" ] }
exemplo

Usando a mesma mensagem MQTT, você também pode consultar um valor específico dentro de um objeto aninhado com a seguinte regra.

SELECT (SELECT v FROM e WHERE n = 'temperature') as temperature FROM 'my/topic'

A regra gera a seguinte saída:

{ "temperature": [ { "v": 22.5 } ] }
exemplo

Você também pode nivelar a saída com uma regra mais complicada.

SELECT get((SELECT v FROM e WHERE n = 'temperature'), 0).v as temperature FROM 'topic'

A regra gera a seguinte saída:

{ "temperature": 22.5 }