Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Extensões JSON

Modo de foco
Extensões JSON - 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á.

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

Você pode usar as seguintes extensões para a sintaxe SQL padrão ANSI para facilitar o trabalho com objetos JSON aninhados.

Operador "."

Esse operador acessa membros em objetos JSON incorporados e funciona de forma idêntica ao ANSI SQL e. JavaScript Por exemplo:

SELECT foo.bar AS bar.baz FROM 'topic/subtopic'

seleciona o valor da propriedade bar no objeto foo a partir da seguinte carga útil de mensagem enviada ao tópico topic/subtopic.

{ "foo": { "bar": "RED", "bar1": "GREEN", "bar2": "BLUE" } }

Se o nome de uma propriedade JSON incluir um caractere de hífen ou caracteres numéricos, a notação 'ponto' não funcionará. Em vez disso, você deve usar a função get para extrair o valor da propriedade.

Neste exemplo, a mensagem a seguir é enviada ao tópico iot/rules.

{ "mydata": { "item2": { "0": { "my-key": "myValue" } } } }

Normalmente, o valor de my-key seria identificado como nessa consulta.

SELECT * from iot/rules WHERE mydata.item2.0.my-key= "myValue"

No entanto, como o nome da propriedade my-key contém um hífen e item2 contém um caractere numérico, a função get deve ser usada conforme mostra a consulta a seguir.

SELECT * from 'iot/rules' WHERE get(get(get(mydata,"item2"),"0"),"my-key") = "myValue"

*Operador

Funciona da mesma maneira que o caractere curinga * em SQL padrão ANSI. É usado somente na cláusula SELECT e cria outro objeto JSON contendo os dados da mensagem. Se a carga útil da mensagem não estiver no formato JSON, * gerará toda a carga útil da mensagem como bytes brutos. Por exemplo:

SELECT * FROM 'topic/subtopic'
Como aplicar uma função a um valor de atributo

Veja a seguir um exemplo de carga útil JSON que pode ser publicada por um dispositivo:

{ "deviceid" : "iot123", "temp" : 54.98, "humidity" : 32.43, "coords" : { "latitude" : 47.615694, "longitude" : -122.3359976 } }

O exemplo a seguir aplica uma função a um valor de atributo em uma carga útil JSON:

SELECT temp, md5(deviceid) AS hashed_id FROM topic/#

O resultado dessa consulta é o seguinte objeto JSON:

{ "temp": 54.98, "hashed_id": "e37f81fb397e595c4aeb5645b8cbbbd1" }
PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.