翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
プロパティ値の更新を Amazon DynamoDB に発行する
このチュートリアルでは、Amazon DynamoDB
このチュートリアルでは、風力発電所のデータセットのサンプルを提供する AWS IoT SiteWise デモに基づいて構築します。風力発電施設のデモでは、プロパティ値の更新が AWS IoT Core ルールを介して、作成したDynamoDB テーブルにデータを送信するように設定されています。プロパティ値の更新を有効にすると、 AWS IoT SiteWise は MQTT メッセージ AWS IoT Core で にデータを送信します。次に、それらのメッセージの内容に応じて、DynamoDB アクションなどのアクションを実行する AWS IoT Core ルールを定義します。詳細については、「他の AWS サービスとやり取りする」を参照してください。
トピック
前提条件
このチュートリアルを完了するには、以下が必要です。
-
AWS アカウント。アカウントをお持ちでない場合は、「AWS アカウントを設定する」を参照してください。
-
にアクセスするために Windows、macOS、Linux、または Unix を実行している開発用コンピュータ AWS Management Console。詳細については、「AWS Management Consoleとは」を参照してください。
-
管理者権限を持つ AWS Identity and Access Management (IAM) ユーザー。詳細な手順については、「が IAM と AWS IoT SiteWise 連携する方法」を参照してください。
-
実行中の AWS IoT SiteWise デモ。詳細については、「AWS IoT SiteWise デモを使用する」を参照してください。
注記
このチュートリアルでは、 で作成されたリソースを使用する必要がありますAWS IoT SiteWise デモを使用する。このチュートリアルに進む前に完了する必要があります。
重要
このチュートリアルを完了するまで、すべてのデモリソースを保持します。コンポーネントを削除すると、デモの機能が中断され、チュートリアルを完了する能力に影響する可能性があります。
ステップ 1: プロパティ値の更新を発行 AWS IoT SiteWise するように を設定する
この手順では、デモタービンアセットの [Wind Speed] プロパティでプロパティ値の通知を有効にします。プロパティ値通知を有効にすると、 は各値の更新を MQTT メッセージで AWS IoT Core に AWS IoT SiteWise 発行します。
アセットプロパティでプロパティ値の更新に関する通知を有効にするには
-
AWS IoT SiteWise コンソール
にサインインします。 -
AWS IoT SiteWise がサポートされているAWS IoT SiteWise エンドポイントとクォータを確認し、必要に応じて AWS リージョンを切り替えます。 AWS IoT SiteWise デモを実行しているリージョンに切り替えます。
-
左側のナビゲーションペインで [アセット] を選択します。
-
Demo Wind Farm Asset の横にある矢印を選択して、風力発電施設のアセットの階層を展開します。
-
Demo Turbine を選択し、[編集] を選択します。
-
[測定] を選択します。
-
Wind Speed プロパティの MQTT 通知ステータスを ACTIVE に更新します。
-
ページの最下部で [保存] をクリックします。
-
各 Demo Turbine Asset に対し、手順 5 ~ 7 を繰り返します。
-
デモタービン (Demo Turbine Asset 1など) を選択します。
-
[測定] を選択します。
-
[Wind Speed] プロパティの横にあるコピーアイコンを選択して、通知トピックをクリップボードにコピーします。保存した通知トピックは、このチュートリアルの後半で使用します。通知トピックは、1 つの Turbine から記録するだけで大丈夫です。
通知トピックは、次の例のようになります。
$aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE
ステップ 2: AWS IoT Core でルールを作成する
このステップでは、プロパティ値通知メッセージを解析し、Amazon DynamoDB テーブルにデータを挿入するルールを AWS IoT Core で作成します。 AWS IoT コアルールは MQTT メッセージを解析し、各メッセージの内容とトピックに基づいてアクションを実行します。このチュートリアルの一部として作成した DynamoDB テーブルにデータを挿入する DynamoDB アクションでルールを作成します。
DynamoDB アクションを使用したルールの作成
-
AWS IoT コンソール
に移動します。 -
左側のナビゲーションペインで、メッセージルーティングを選択し、ルールを選択します。
-
[ルールを作成] を選択します。
-
ルールプロパティを指定する に、ルールの名前と説明を入力します。
-
このチュートリアルの前の手順で保存した通知トピックを見つけます。
$aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLEトピックのアセット ID (
assets/の後の ID) を+に置き換えます。これにより、すべてのデモ風力タービンアセットの風速プロパティが選択されます。+トピックフィルターは、トピック内の 1 つのレベルのすべてのノードを受け入れます。トピックは次の例のようになります。$aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/+/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE -
次のルールクエリステートメントを入力します。
FROMセクションのトピックを通知トピックに置き換えます。SELECT payload.assetId AS asset, (SELECT VALUE (value.doubleValue) FROM payload.values) AS windspeed, timestamp() AS timestamp FROM '$aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/+/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE' WHERE type = 'PropertyValueUpdate' -
ルールアクションで、アクション 1 に移動します。
-
アクションの選択ページで、DynamoDBv2 を選択します。これにより、メッセージが DynamoDB テーブルの複数の列に分割されます。
-
Table name で、Create new table を選択します。ルールアクションから風速データを受信する Amazon DynamoDB テーブルを作成します。
-
DynamoDB コンソール
のテーブル名に、テーブルの名前を入力します。 -
パーティションキーの場合は、次の操作を行います。
-
パーティションキーとして
timestampを入力します。 -
[数値] の種類を選択します。
-
[ソートキーの追加] のチェックボックスをオンにします。
-
ソートキーとして
assetと入力し、デフォルトのソートキーの種類は文字列のままにします。
-
-
[テーブルの作成] を選択します。
-
アクションの設定のページのタブに戻ります。
-
ルールのアタッチアクションページで、テーブル名リストを更新し、前のステップで作成した新しい DynamoDB テーブルを選択します。
ステップ 3: DynamoDB ルールアクションを設定する
このステップでは、プロパティ値の更新から新しい DynamoDB テーブルにデータを挿入するように Amazon DynamoDB ルールアクションを設定します。
DynamoDB ルールアクションを構成するには
-
ロールの作成 を選択して、ルールアクションを実行するための AWS IoT Core アクセスを許可する IAM ロールを作成します。
-
ロール名を入力します。例:
WindSpeedDataRole。[ロールの作成] を選択してください。 -
[次へ] を選択します。
-
ページの下部にある作成を選択して、ルールの作成を完了します。
デモのアセットデータが DynamoDB テーブルに表示され始めます。
ステップ 4: DynamoDB でデータを調べる
このステップでは、新しい Amazon DynamoDB テーブルでデモアセットの風速データを確認します。
DynamoDB でアセットデータを検索する
-
DynamoDB テーブルを開いた状態でタブに戻ります。
-
先ほど作成したテーブルで、Explore table items タブを選択して、テーブル内のデータを表示します。テーブルに行が表示されない場合は、ページを更新します。数分経過しても行が表示されない場合は、ルールをトラブルシューティング (DynamoDB) を参照してください。
-
テーブルの行で、編集アイコンを選択してデータを展開します。
-
windspeed 構造の横にある矢印を選択して、風速データポイントのリストを展開します。各リストには、風力発電所のデモ AWS IoT SiteWise によって に送信された風速データポイントのバッチが反映されます。独自のルールアクションを設定する場合は、別のデータ形式を使用することもできます。詳細については、「でアセットプロパティ通知をクエリする AWS IoT SiteWise」を参照してください。
チュートリアルを完了したので、追加料金が発生しないように、ルールを無効化または削除し、DynamoDB テーブルを削除できます。リソースをクリーンアップするには、「リソースをクリーンアップする」を参照してください。
このデータを消費して視覚化するカスタムアプリケーションを作成する方法についても説明します。 AWS IoT SiteWise データの視覚化に関するガイド付きチュートリアルについては、「」を参照してくださいGrafana でデータを視覚化して共有する。
リソースをクリーンアップする
チュートリアルを完了したら、追加料金が発生しないようにリソースをクリーンアップします。
AWS IoT SiteWise デモを削除するには
AWS IoT SiteWise コンソール
に移動します。 ページの右上隅で、デモの削除を選択します。
確認フィールドに「
DELETE」と入力し、[削除] を選択します。
詳細については、「AWS IoT SiteWise デモを削除する」を参照してください。
プロパティ値の更新通知を無効にし (デモを削除しなかった場合)、 AWS IoT ルールを無効にまたは削除し、DynamoDB テーブルを削除します。
アセットプロパティでプロパティ値の更新に関する通知を無効にするには
-
AWS IoT SiteWise コンソール
に移動します。 -
左側のナビゲーションペインで [アセット] を選択します。
-
Demo Wind Farm Asset の横にある矢印を選択して、風力発電施設のアセットの階層を展開します。
-
Demo Turbine を選択し、[編集] を選択します。
-
Wind Speed プロパティの通知ステータスを INACTIVE に更新します。
-
ページの下部にある [アセットを保存] を選択します。
-
各 Demo Turbine Asset に対し、手順 4 ~ 6 を繰り返します。
でルールを無効化または削除するには AWS IoT Core
-
AWS IoT コンソール
に移動します。 -
左側のナビゲーションペインで [メッセージルーティング] を選択し、[ルール] を選択します。
-
ルールを選択し、[削除] を選択します。
-
確認ダイアログボックスでルール名を入力し、[削除] を選択します。
DynamoDB テーブルを削除するには
-
[DynamoDB console]
(DynamoDB コンソール) に移動します。 -
左のナビゲーションペインで、[テーブル] を選択します。
-
前に作成したテーブルを選択します。例:
WindSpeedData。 -
[削除] を選択します。
-
確認ダイアログで、 と入力
confirmしてテーブルを削除します。
その他のリソース
DynamoDB の操作とデータのモニタリングの詳細については、次のリソースを参照してください。
-
DynamoDB デベロッパーガイドのCloudWatch を使用した でのメトリクスのモニタリングDynamoDB」
-
DynamoDB デベロッパーガイドの でパーティションキーを効果的に設計および使用するためのベストプラクティス
-
AWS IoT デベロッパーガイドの のルール AWS IoT