AWS IoTのルールエンジンとシャドウ

  • 0
    いいね
  • 0
    コメント

    AWS IoTに関する基本的な内容をまとめてみたものです。AWS IoTに関する、Web上にすでにある解説コンテンツをまとめたサイトの抜粋です。
    ルールエンジンとシャドウ

    ルールエンジンによりデバイスのデータに基づいたアクションを設定

    AWS IoTでは、ルールエンジンによって、接続されたデバイスによって生成されるデータを収集し、処理し、分析し、データに基づいたアクションを実行するアプリケーションを構築します。

    ルールエンジンで直感的にルールを設定し、SQL に似たシンタックスでインバウンドデータを自動的にフィルタおよび変換できます。AWS IoT サービスから他のいくつかの AWS のサービスまたはお客様がお使いのサードパーティサービスへルーティングするルールを設定できます。

    例)
    • 受信メッセージのフィルタリングおよび変換、DynamoDB へ時系列データとして保存。
    • センサーからのデータが特定のしきい値を超えた時、SNS を経由してプッシュ通知を送信。
    • ファームウェアファイルを S3 に保存。
    • Kinesis を使用して複数のデバイスからのメッセージを同時に処理。
    • 受信データのカスタム処理を行うため Lambda を呼び出し。
    • 自動再発行して、デバイスのグループへコマンドを送信。

    ルールはSQLライクな構文にて指定

    AWS IoT のルールは 2 つの主要な部分で構成されます。

    SQLステートメント:
    SQL ステートメントでは、ルールを適用するトピック、必要に応じて実行するデータ変換、およびルールを実行する際の条件を指定します。ルールは指定されたトピックに発行されたすべてのメッセージに適用されます。

    アクションリスト:
    受信メッセージがSQLステートメントで定義された条件と一致した時、アクションリストで定義されたアクションが実行されます。

    ルールの定義は JSON ベースのスキーマを使用しています。直接 JSON を編集、または AWS マネジメントコンソールのルールエディタを使用できます。

    デバイスシャドウによるデバイスの状態管理の仕組み

    デバイス シャドウは、デバイスの現在のステータス、アプリケーションから要求されたステータスを管理するJSONドキュメントであり、デバイスシャドウには、デバイスがオフライン状態のときでも、各デバイスについて最後に報告された状態と、希望する今後の状態が保持されます。最後に報告された時点の状態の取得や、希望する今後の状態の設定は、API またはルールエンジンによって実行されます。

    デバイスシャドウでは、REST API が常時利用できるため、デバイスと協働するアプリケーションの構築が容易になります。さらに、アプリケーションではデバイスの現在の状態を取得することなく、希望する今後の状態を設定できるようになります。希望する状態と最後に報告された時点の状態との相違は AWS IoT によって比較され、相違を補うようデバイスに対してコマンドが送られます。

    デバイスのシャドウには、デバイスの状態を最大 1 年間無料で保存できます。最低 1 年間に 1 度更新していれば、デバイスのシャドウは無期限に継続できます。更新しなかった場合は消去されます。