Versioni SQL - AWS IoT Core

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Versioni SQL

Il motore AWS IoT delle regole utilizza una sintassi simile a SQL per selezionare i dati dai messaggi MQTT. Le istruzioni SQL vengono interpretate in base a una versione di SQL specificata con la proprietà awsIotSqlVersion in un documento JSON che descrive la regola. Per ulteriori informazioni sulla struttura dei documenti di regole JSON, consulta la pagina relativa alla creazione di una regola. La awsIotSqlVersion proprietà consente di specificare quale versione del motore di regole AWS IoT SQL si desidera utilizzare. Quando viene distribuita una nuova versione, puoi continuare a usare una versione precedente o modificare la regola per usare la nuova versione. Le regole correnti continuano a usare la versione con cui sono state create.

L'esempio JSON seguente ti illustra come specificare la versione SQL usando la proprietà 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 attualmente supporta le seguenti versioni SQL:

  • 2016-03-23 - versione SQL creata il 23/03/2016 (consigliata).

  • 2015-10-08 – versione SQL originale creata il 08/10/2015.

  • beta – la più recente versione beta di SQL. Questa versione potrebbe comportare modifiche che interrompono il funzionamento delle regole.

Novità della versione del motore di regole SQL 2016-03-23

  • Correzioni per la selezione di oggetti JSON nidificati.

  • Correzioni per le query su matrici.

  • Supporto per query tra oggetti. Per ulteriori informazioni, consulta Query di oggetti nidificati.

  • Supporto per l'output di una matrice come oggetto di primo livello.

  • Aggiunta della funzione encode(value, encodingScheme), che può essere applicata ai dati in formato JSON e non JSON. Per ulteriori informazioni, consulta la funzione di codifica.

Output di un oggetto Array come oggetto di primo livello

Questa caratteristica permette a una regola di restituire una matrice come oggetto di primo livello. Ad esempio, partendo dal messaggio MQTT seguente:

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

E dalla regola seguente:

SELECT VALUE arr FROM 'topic'

La regola genera l'output seguente.

[1,2,3,4]