プロパティ値の更新を Amazon DynamoDB に発行する - AWS IoT SiteWise

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

プロパティ値の更新を Amazon DynamoDB に発行する

このチュートリアルでは、Amazon DynamoDB を使用してデータを保存する便利な方法を紹介します。これにより、 を繰り返しクエリしなくても、履歴アセットデータに簡単にアクセスできます AWS IoT SiteWise API。このチュートリアルを完了すると、風力発電所全体の風速と方向のライブマップなど、アセットデータを使用するカスタムソフトウェアを作成できます。カスタムソフトウェアソリューションを実装せずにデータをモニタリングおよび視覚化する場合は、「」を参照してくださいでデータをモニタリングする AWS IoT SiteWise Monitor

このチュートリアルでは、風力発電所用のデータセットのサンプルを提供する AWS IoT SiteWise デモに基づいて構築します。風力発電施設のデモでは、プロパティ値の更新が AWS IoT Core ルールを介して、作成したDynamoDB テーブルにデータを送信するように設定されています。プロパティ値の更新を有効にすると、 AWS IoT SiteWise はメッセージを AWS IoT Core に送信しますMQTT。次に、メッセージの内容に応じて、DynamoDB アクションなどのアクションを実行する AWS IoT Core ルールを定義します。詳細については、「他の AWS サービスとやり取りする」を参照してください。

前提条件

このチュートリアルを完了するには、以下が必要です。

  • AWS アカウント。アカウントをお持ちでない場合は、「のセットアップ AWS アカウント」を参照してください。

  • Windows、macOS、Linux、または Unix を実行して にアクセスする開発コンピュータ AWS Management Console。詳細については、「AWS Management Consoleの開始方法」を参照してください。

  • 管理者権限を持つ IAM ユーザー。

  • 実行中の AWS IoT SiteWise 風力発電所のデモ。デモを設定すると、 でモデルとアセットを定義 AWS IoT SiteWise し、風力発電所を表すためにデータをストリーミングします。詳細については、「AWS IoT SiteWise デモを使用する」を参照してください。

ステップ 1: プロパティ値の更新を発行 AWS IoT SiteWise するように を設定する

この手順では、デモタービンアセットの [Wind Speed] プロパティでプロパティ値の通知を有効にします。プロパティ値通知を有効にすると、 はMQTTメッセージ内の各値の更新を AWS IoT Core に AWS IoT SiteWise 発行します。

アセットプロパティでプロパティ値の更新に関する通知を有効にするには
  1. AWS IoT SiteWise コンソールにサインインします。

  2. AWS IoT SiteWise がサポートされているAWS IoT SiteWise エンドポイントとクォータを確認し、必要に応じて AWS リージョンを切り替えます。 AWS IoT SiteWise デモを実行しているリージョンに切り替えます。

  3. 左側のナビゲーションペインで [アセット] を選択します。

    AWS IoT SiteWise 「アセット」左ナビゲーション要素のスクリーンショット。
  4. Demo Wind Farm Asset の横にある矢印を選択して、風力発電施設のアセットの階層を展開します。

    AWS IoT SiteWise Demo Wind Farm Asset「」階層のスクリーンショット。
  5. Demo Turbine を選択し、[編集] を選択します。

    AWS IoT SiteWise Demo Turbine Asset「」のスクリーンショット。
  6. Wind Speed プロパティの通知ステータスを に更新しますENABLED

    AWS IoT SiteWise 「通知ステータスの編集」のスクリーンショット。
  7. ページの下部にある [Save asset (アセットを保存) ] を選択します。

  8. 各 Demo Turbine Asset に対し、手順 5 ~ 7 を繰り返します。

  9. デモタービン (Demo Turbine Asset 1など) を選択します。

  10. [測定] を選択します。

  11. [Wind Speed] プロパティの横にあるコピーアイコンを選択して、通知トピックをクリップボードにコピーします。保存した通知トピックは、このチュートリアルの後半で使用します。通知トピックは、1 つの Turbine から記録するだけで大丈夫です。

    AWS IoT SiteWise 「通知トピックをコピー」のスクリーンショット。

    通知トピックは、次の例のようになります。

    $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 Core ルールはMQTT、メッセージを解析し、各メッセージの内容とトピックに基づいてアクションを実行します。次に、DynamoDB アクションを使用してルールを作成し、このチュートリアルの一部として作成した DynamoDB テーブルにデータを挿入します。

DynamoDB アクションを使用したルールの作成
  1. AWS IoT コンソールに移動します。[今すぐ始める] ボタンが表示された場合はそれをクリックします。

  2. 左側のナビゲーションペインで [Act (アクト) ] を選択し、[ルール] を選択します。

    AWS IoT Core 「ルールの作成」のスクリーンショット。
  3. [ルールはまだ作成されていません] ダイアログボックスが表示された場合は、[ルールの作成] を選択します。それ以外の場合は、[作成] を選択します。

  4. ルールの名前と説明を入力します。

    AWS IoT Core 「名前」と「説明」が強調表示された「ルールの作成」ページのスクリーンショット。
  5. このチュートリアルの前の手順で保存した通知トピックを見つけます。

    $aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/a1b2c3d4-5678-90ab-cdef-22222EXAMPLE/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE

    トピックのアセット ID ( の後の IDassets/) を に置き換えます+。これにより、すべてのデモ風力タービンアセットの風速プロパティが選択されます。+ トピックフィルターは、トピック内の 1 つのレベルのすべてのノードを受け入れます。トピックは次の例のようになります。

    $aws/sitewise/asset-models/a1b2c3d4-5678-90ab-cdef-11111EXAMPLE/assets/+/properties/a1b2c3d4-5678-90ab-cdef-33333EXAMPLE
  6. 次のルールクエリステートメントを入力します。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'
  7. [1 つ以上のアクションを設定する] で、[アクションの追加] を選択します。

    AWS IoT Core 「アクションの追加」が強調表示された「ルールの作成」ページのスクリーンショット。
  8. アクションの選択ページで、メッセージを DynamoDB テーブルの複数の列に分割する (D ynamoDBv2) を選択します。

    AWS IoT D ynamoDBv2 アクションが強調表示された Core 「アクションの選択」ページのスクリーンショット。
  9. ページの下部にある [アクションの設定] を選択します。

  10. [配置操作] ページで [创建新资源] を選択します。

    新しいタブで DynamoDB コンソールが開きます。次の手順を実行している間は、[ルールアクション] タブを開いたままにしておきます。

ステップ 3: DynamoDB テーブルを作成する

この手順では、ルールアクションから風速データを受信する Amazon DynamoDB テーブルを作成します。

DynamoDB テーブルを作成するには
  1. DynamoDB コンソールのダッシュボードで、[テーブルの作成] を選択します。

  2. テーブル名を入力します。

    DynamoDB 「テーブルの作成」ページのスクリーンショット。
  3. プライマリキーのページで、以下の操作を行います。

    1. パーティションキーとして timestamp を入力します。

    2. [数値] の種類を選択します。

    3. [ソートキーの追加] のチェックボックスをオンにします。

    4. ソートキーとして asset と入力し、デフォルトのソートキーの種類は文字列のままにします。

  4. [Create] (作成) を選択します。

    テーブルが作成されているという通知が消えたら、テーブルの準備ができたことを示します。

  5. アクションの設定のページのタブに戻ります。次のステップを実行している間は、 DynamoDB のタブを開いたままにしておきます。

ステップ 4: DynamoDB ルールアクションを設定する

この手順では、プロパティ値の更新から新しい DynamoDB テーブルにデータを挿入するように Amazon DynamoDB ルールアクションを設定します。

DynamoDB ルールアクションを構成するには
  1. [アクションの設定] のページで、[テーブル名] リストを更新し、新しい DynamoDB テーブルを選択します。

    AWS IoT テーブルファインダーが強調表示された Core 「Configure D ynamoDBv2 action」ページのスクリーンショット。
  2. ロールの作成 を選択して、ルールアクションを実行するための AWS IoT Core アクセスを許可する IAMロールを作成します。

  3. ロール名を入力し、[ロールの作成] を選択します。

    AWS IoT 「ロールの作成」が強調表示された Core 「Configure D ynamoDBv2 action」ページのスクリーンショット。
  4. [添加操作] を選択します。

  5. ページの下部にある [ルールの作成] を選択して、ルールの作成を終了します。

    デモのアセットデータが DynamoDB テーブルに表示され始めます。

ステップ 5: DynamoDB でデータを調べる

この手順では、新しい Amazon DynamoDB テーブルでデモアセットの風速データを調べます。

DynamoDB でアセットデータを検索する
  1. DynamoDB テーブルを開いた状態でタブに戻ります。

  2. 前に作成したテーブルで、[項目] のタブを選択して、テーブル内のデータを表示します。テーブルに行が表示されない場合は、ページを更新します。数分経過しても行が表示されない場合は、ルールのトラブルシューティング (DynamoDB ) を参照してください。

    [項目] タブが強調表示された DynamoDB テーブルページのスクリーンショット。
  3. テーブルの行で、編集アイコンを選択してデータを展開します。

    行の編集アイコンが強調表示された DynamoDB テーブルページのスクリーンショット。
  4. windspeed 構造の横にある矢印を選択して、風速データポイントのリストを展開します。各リストには、風力発電所のデモ AWS IoT SiteWise によって に送信された風速データポイントのバッチが反映されます。独自のルールアクションを設定する場合は、別のデータ形式を使用することもできます。詳細については、「アセットプロパティ通知メッセージのクエリ」を参照してください。

    DynamoDB の「テーブル行の編集」パネルのスクリーンショット。

チュートリアルを完了したので、追加料金が発生しないように、ルールを無効化または削除し、DynamoDB テーブルを削除します。リソースをクリーンアップするには、「」を参照してくださいステップ 6: チュートリアルの後にリソースをクリーンアップする

ステップ 6: チュートリアルの後にリソースをクリーンアップする

チュートリアルを完了したら、追加料金が発生しないようにリソースをクリーンアップします。デモ風力発電所のアセットは、デモの作成時に選択した期間の終了時に削除されます。デモを手動で削除することもできます。詳細については、「AWS IoT SiteWise デモを削除する」を参照してください。

プロパティ値の更新通知を無効にし (デモを削除しなかった場合)、 AWS IoT ルールを無効にまたは削除し、DynamoDB テーブルを削除します。

アセットプロパティでプロパティ値の更新に関する通知を無効にするには
  1. AWS IoT SiteWise コンソールに移動します。

  2. 左側のナビゲーションペインで [アセット] を選択します。

    AWS IoT SiteWise 「アセット」左ナビゲーション要素のスクリーンショット。
  3. Demo Wind Farm Asset の横にある矢印を選択して、風力発電施設のアセットの階層を展開します。

    AWS IoT SiteWise Demo Wind Farm Asset「」階層のスクリーンショット。
  4. Demo Turbine を選択し、[編集] を選択します。

    AWS IoT SiteWise Demo Turbine Asset「」のスクリーンショット。
  5. Wind Speed プロパティの通知ステータスを に更新しますDISABLED

    AWS IoT SiteWise 「通知ステータスの編集」のスクリーンショット。
  6. ページの下部にある [アセットを保存] を選択します。

  7. 各 Demo Turbine Asset に対し、手順 4 ~ 6 を繰り返します。

でルールを無効化または削除するには AWS IoT Core
  1. AWS IoT コンソールに移動します。

  2. 左側のナビゲーションペインで [Act (アクト) ] を選択し、[ルール] を選択します。

  3. ルールのメニューを選択し、[無効化] または [削除] を選択します。

    AWS IoT ルールのメニューが開いて強調表示されているコア「ルール」ページのスクリーンショット。
DynamoDB テーブルを削除するには
  1. [DynamoDB console] (DynamoDB コンソール) に移動します。

  2. 左のナビゲーションペインで、[テーブル] を選択します。

  3. 先ほど作成したテーブル、WindSpeedData を選択します。

  4. [テーブルの削除] を選択します。

    [表の削除] が強調表示された DynamoDB「表」ページのスクリーンショット。
  5. [テーブルの削除] ダイアログで、[削除] を選択します。

    [削除] が強調表示された DynamoDB [表の削除] ダイアログのスクリーンショット。