データをDynamoDBへ保存&mockmockによるIoTシステムのテスト方法
はじめに
前回は、AWSを利用してセンサーが人を検知したときにSlackへ通知するクラウドアプリケーションの構築手順を解説しました。
今回は、このデータをデータベースに格納する方法と、mockmockを利用したテストの実施方法を解説します。
IoT Coreが受信したデータをDynamoDBに保存する
前回までの手順で、「人を検知したときにSlackへ通知する機能」は完成しています。ただし、検知した情報はSlack上にしか残っておらず、少々不便です。
例えば「時間ごとの人が通過した回数をグラフ化して表示したい」「人の通過が多くなる要因を分析したい」といったユースケースに備えて、データをデータベースに保存しておくと良いでしょう。
今回はデータベースとして、AWSが提供する完全マネージド型key-valueおよびドキュメントデータベースであるDynamoDBを使用します。
DynamoDBの準備
データを保存するためのテーブルを事前に作成しておきます。
DynamoDBのダッシュボードにアクセスし、「テーブルの作成」をクリックします。
以下の通り入力します。
項目名 | 入力値 |
---|---|
テーブル名 | check_points |
プライマリキー (パーティションキー) |
clientid (文字列) |
ソートキーの追加 | チェック |
プライマリキー (ソートキー) |
timestamp (数値) |
デフォルト設定の使用 | チェック |
入力が完了したら「作成」をクリックしてください。
IoT Core(DynamoDBとの接続)
IoT Coreのルールにアクセスして、「check_point」をクリックします。
「アクションの追加」をクリックします。
「DynamoDBテーブルにメッセージを挿入する」を選択して、「アクションの設定」をクリックします。
以下の通り入力します。
項目名 | 入力値 |
---|---|
テーブル名 | check_points |
Hash Keyのタイプ | STRING |
パーティションキー値 | ${clientid() |
レンジキー | timestamp |
Range key type | NUMBER |
レンジキーの値 | ${timestamp()} |
「ロールの作成」をクリックします。
「名前」に「iot-core-dynamodb」を入力して「ロールの作成」をクリックします。
「アクションの追加」をクリックします。
DynamoDBの閲覧
DynamoDBのダッシュボードにアクセスし、サイドメニューの「テーブル」をクリックします。
閲覧したいテーブル名をクリックします。表示されたタブのうち「項目」タブを選択すると、テーブルに格納されているデータを閲覧できます。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- クラウドアプリケーションを構築してデータを送信しよう
- IoTシステムの概要を知り、実際にデバイスを動かしてみよう
- Check Point Software Technologies、「IoTボットネット攻撃の台風」について注意喚起
- PagerDuty Tips(Terraform/オンコール通知/インシデント分析)
- オープンソース化だけじゃない、開発者のスタイルもマルチプラットフォームになる次世代の.NETとVisual Studio
- F-Secure、IoTデバイスのセキュリティアプリテスト向けシングルボードコンピュータ「USB Armory Mk II」を発売開始
- Eclipseとプラグイン
- pg_monzの導入手順と PostgreSQL監視の実態
- Azure Data Explorerができることを理解する
- GCP上のKey-Value型データベースCloud Datastore