AWS IoT
開発者ガイド

JSON 拡張

入れ子になった JSON オブジェクトを容易に操作するには、次に示す ANSI SQL 構文への拡張を使用できます。

"." 演算子

この演算子は、埋め込み JSON オブジェクトのメンバーにアクセスします。ANSI SQL や JavaScript の場合と同じ機能があります。次に例を示します。

SELECT foo.bar AS bar.baz FROM 'a/b'

* 演算子

ANSI SQL の * ワイルドカードと同じ機能があります。SELECT 句のみで使用され、メッセージデータを含む新しい JSON オブジェクトを作成します。メッセージペイロードが JSON 形式でない場合、* はメッセージペイロード全体を raw バイトとして返します。次に例を示します。

SELECT * FROM 'a/b'

属性値に対する関数の適用

以下に、デバイスから発行される JSON ペイロードの例を示します。

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

次の例では、JSON ペイロード内の属性値に関数を適用しています。

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

このクエリの結果は、次の JSON オブジェクトです。

{ "temp": 54.98, "hashed_id": "e37f81fb397e595c4aeb5645b8cbbbd1" }