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á.
AWS IoT Referência SQL
Em AWS IoT, as regras são definidas usando uma sintaxe semelhante a SQL. As declarações do SQL são compostas por três tipos de cláusulas:
- SELECT
-
(Obrigatório) Extrai informações da carga útil da mensagem de entrada e executa transformações nas informações. As mensagens a serem usadas são identificadas pelo filtro de tópico especificado na cláusula FROM.
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.
- FROM
-
O filtro de tópicos de mensagens do MQTT que identifica as mensagens das quais extrair dados. A regra é ativada para cada mensagem enviada para um tópico MQTT que corresponda ao filtro de tópico especificado aqui. Obrigatório para regras que são ativadas por mensagens que passam pelo agente de mensagens. Opcional para regras que só são ativadas usando o atributo Ingestão básica.
- WHERE
-
(Opcional) Adiciona lógica condicional que determina se as ações especificadas por uma regra são executadas.
A cláusula WHERE é compatível com Tipos de dados, Operadores, Funções, Literais, Declarações de caso, Extensões JSON, Modelos de substituição e Consultas de objeto aninhado.
Um exemplo de declaração do SQL é semelhante a:
SELECT color AS rgb FROM 'topic/subtopic' WHERE temperature > 50
Um exemplo de mensagem MQTT (também chamada de carga útil de entrada) é semelhante a:
{ "color":"red", "temperature":100 }
Se essa mensagem for publicada no tópico 'topic/subtopic'
, a regra será acionada, e a declaração do SQL será avaliada. A declaração do SQL extrairá o valor da propriedade color
se a propriedade "temperature"
for superior a 50. A cláusula WHERE especifica a condição temperature > 50
. A palavra-chave AS
renomeia a propriedade "color"
para "rgb"
. O resultado (também chamado de carga útil de saída) é semelhante a:
{ "rgb":"red" }
Esses dados são encaminhados para a ação da regra, que envia os dados para realizar mais processamento. Para obter mais informações sobre as ações de regra, consulte AWS IoT ações de regras.
nota
Atualmente, não há suporte para comentários na sintaxe AWS IoT SQL.
Nomes de atributos com espaços não podem ser usados como nomes de campo na instrução SQL. Embora a carga de entrada possa ter nomes de atributos com espaços, esses nomes não podem ser usados na instrução SQL. No entanto, eles serão passados para a carga de saída se você usar uma especificação de nome de campo curinga (*).