はじめに
前回は、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のダッシュボードにアクセスし、サイドメニューの「テーブル」をクリックします。
閲覧したいテーブル名をクリックします。表示されたタブのうち「項目」タブを選択すると、テーブルに格納されているデータを閲覧できます。
この記事をシェアしてください
