Versões do SQL - 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á.

Versões do SQL

O mecanismo de AWS IoT regras usa uma sintaxe semelhante ao SQL para selecionar dados das mensagens MQTT. As instruções SQL são interpretadas com base em uma versão do SQL especificada com a propriedade awsIotSqlVersion em um documento JSON que descreve a regra. Para obter mais informações sobre a estrutura de documentos de regra JSON, consulte Como criar uma regra. A awsIotSqlVersion propriedade permite que você especifique qual versão do mecanismo de regras AWS IoT SQL você deseja usar. Quando uma nova versão é implantada, você pode continuar usando uma versão mais antiga ou alterar a regra para usar a nova versão. As regras atuais continuam a usar a versão com a qual foram criadas.

O seguinte exemplo de JSON mostra como especificar a versão do SQL usando a propriedade awsIotSqlVersion.

{ "sql": "expression", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [{ "republish": { "topic": "my-mqtt-topic", "roleArn": "arn:aws:iam::123456789012:role/my-iot-role" } }] }

AWS IoT atualmente oferece suporte às seguintes versões do SQL:

  • 2016-03-23 – A versão SQL implantada em 23/03/2016 (recomendada).

  • 2015-10-08 – A versão original do SQL implantada em 08/10/2015.

  • beta – A versão beta mais recente do SQL. Essa versão pode causar alterações nas regras.

Novidades da versão 23/03/2016 do mecanismo de regras SQL

  • Correções na seleção de objetos JSON aninhados.

  • Correções em consultas de matrizes.

  • Suporte para consulta entre objetos. Para ter mais informações, consulte Consultas de objeto aninhado.

  • Suporte para emitir uma matriz como um objeto de nível superior.

  • Adição da função encode(value, encodingScheme), que pode ser aplicada em dados em formato JSON e não JSON. Para obter mais informações, consulte a função de codificação.

Resultado de uma Array como um objeto de nível superior

Esse recurso permite que uma regra gere uma matriz como um objeto de nível superior. Por exemplo, com base na seguinte mensagem MQTT:

{ "a": {"b":"c"}, "arr":[1,2,3,4] }

E a seguinte regra:

SELECT VALUE arr FROM 'topic'

A regra gera a seguinte saída:

[1,2,3,4]