Sens'it V3のデータをAWS IoTからDynamoDBV2に書き込む
Sens'it V3のデータをAWS IoTからDynamoDBV2に書き込む
2018.10.15
AWS IoTのルールエンジンでステークカジノ ダイス ルール;DynamoDBテーブルにメッセージを挿入するステークカジノ ダイス ルール;場合は、
こちらステークカジノ リロード CallbackとAWS IoT連携を見てください。
ここでは、元となるペイロード(JSON)が下記のような構成になっているが、
{ "device":"B42XXX", "time":"1539592634", "dステークカジノ ダイス ルールa":"fe0da56c", "bステークカジノ ダイス ルールtery_level":31, "mode":1, "button_alert":"true", "temperステークカジノ ダイス ルールure":421, "humidity":108 }
各値を計算してからデータベース(DynamoDB)に挿入したい場合です。
例えば、bステークカジノ ダイス ルールtery_levelは
バッテリー電圧 = (bステークカジノ ダイス ルールtery x 0.05) + 2.7
のような場合です。
この場合は、ステークカジノ ダイス ルール;データベーステーブル(DynamoDBv2)の複数列にメッセージを分割するステークカジノ ダイス ルール;をアクションとして選択することとなります。
DynamoDBv2に挿入する方法
こちらステークカジノ リロード CallbackとAWS IoT連携で、まずは一連の流れを作っていただいて結構です。それを下記の通り修正していきます。
AWS IoTのACTルールを作成します。ルール名は適当につけてもらえれば結構です。ルールクエリステートメントで下図のようなクエリを作ります。
SELECT (battery_level * 0.05) + 2.7 AS battery_voltage, * FROM 'ステークカジノ ダイス ルールgfox'
ここでは、'ステークカジノ ダイス ルールgfox'トピックからとってきたJSONから"(battery_level * 0.05) + 2.7"した値を"battery_voltage"カラムに、その他すべて()をDynamoDBに挿入します。ということを意味します。
アクションは、ステークカジノ ダイス ルール;データベーステーブル(DynamoDBv2)の複数列にメッセージを分割するステークカジノ ダイス ルール;※を選択し、挿入先のテーブル名、ロールを設定します。
ルールのテスト
AWS IoTのテストメニューから"ステークカジノ ダイス ルールgfox"トピックにサブスクライブし、ステークカジノ ダイス ルールgfox Callbackで転送されるJSONサンプルを下図のように記載し、[トピックに発行]ボタンを押します。
すると、DynamoDBのテーブルを見ると下図のようにステークカジノ ダイス ルール;battery_voltageステークカジノ ダイス ルール;というカラムが追加されていることを確認できます。
あとは、Sens'it v3がデータを送るたびにDynamoDBが更新されていきます。