Cláusula SELECT - 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á.

Cláusula SELECT

A cláusula AWS IoT SELECT é essencialmente a mesma que a cláusula ANSI SQL SELECT, com algumas pequenas diferenças.

A cláusula SELECT é compatível com Tipos de dados, Operadores, Funções, Literais, Declarações de caso, Extensões JSON, Modelos de substituição, Consultas de objeto aninhado, e Cargas binárias.

Você pode usar a cláusula SELECT para extrair informações das mensagens MQTT recebidas. Você também pode usar SELECT * para recuperar toda a carga útil da mensagem recebida. Por exemplo: .

Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50} SQL statement: SELECT * FROM 'topic/subtopic' Outgoing payload: {"color":"red", "temperature":50}

Se a carga útil for um objeto JSON, você poderá fazer referência a chaves no objeto. A carga útil de saída contém o par de chave/valor. Por exemplo: .

Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50} SQL statement: SELECT color FROM 'topic/subtopic' Outgoing payload: {"color":"red"}

Você pode usar o teclado AS para renomear chaves. Por exemplo: .

Incoming payload published on topic 'topic/subtopic':{"color":"red", "temperature":50} SQL:SELECT color AS my_color FROM 'topic/subtopic' Outgoing payload: {"my_color":"red"}

Você pode selecionar vários itens ao separá-los com uma vírgula. Por exemplo: .

Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50} SQL: SELECT color as my_color, temperature as fahrenheit FROM 'topic/subtopic' Outgoing payload: {"my_color":"red","fahrenheit":50}

Você pode selecionar vários itens incluindo '*' para adicionar itens à carga útil de entrada. Por exemplo: .

Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50} SQL: SELECT *, 15 as speed FROM 'topic/subtopic' Outgoing payload: {"color":"red", "temperature":50, "speed":15}

Você pode usar a palavra-chave "VALUE" para produzir cargas úteis de saída que não são objetos JSON. Com a versão SQL 2015-10-08, você pode selecionar apenas um item. Com a versão 2016-03-23 do SQL ou posterior, você também pode selecionar uma matriz para saída como um objeto de nível superior.

Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50} SQL: SELECT VALUE color FROM 'topic/subtopic' Outgoing payload: "red"

Você pode usar a sintaxe '.' para analisar os objetos JSON aninhados na carga útil de entrada. Por exemplo: .

Incoming payload published on topic 'topic/subtopic': {"color":{"red":255,"green":0,"blue":0}, "temperature":50} SQL: SELECT color.red as red_value FROM 'topic/subtopic' Outgoing payload: {"red_value":255}

Para obter informações sobre como usar nomes de objetos e propriedades JSON que incluem caracteres reservados, como números ou o caractere de hífen (menos), consulte Extensões JSON

Você pode usar funções (consulte Funções) para transformar a carga útil de entrada. Você pode usar parênteses para agrupamento. Por exemplo: .

Incoming payload published on topic 'topic/subtopic': {"color":"red", "temperature":50} SQL: SELECT (temperature - 32) * 5 / 9 AS celsius, upper(color) as my_color FROM 'topic/subtopic' Outgoing payload: {"celsius":10,"my_color":"RED"}