デバイスデータを他のサービスにルーティングする AWS IoT ルールの作成
以下のチュートリアルでは、より一般的なルールアクションを使用して AWS IoT ルールを作成してテストする方法を示します。
AWS IoT ルールは、デバイスから他の AWS のサービスにデータを送信します。特定の MQTT メッセージをリッスンし、メッセージペイロード内のデータをフォーマットし、結果を他の AWS のサービスに送信します。
Lambda 関数やそれ以上に複雑なものを使用するルールを作成することが目標であっても、ここに示されている順序でこれらを試すことをお勧めします。チュートリアルは、基本的なものから複雑なものへと順に表示されます。新しい概念を段階的に提示することで、特定のチュートリアルを持たないルールアクションの作成に使用できる概念を学習するのに役立ちます。
注記
AWS IoT ルールは、IoT デバイスから他の AWS のサービスにデータを送信するのに役立ちます。ただし、これを正常に実行するには、データを送信する他のサービスに関する実用的な知識が必要です。これらのチュートリアルでは、タスクを完了するために必要な情報が提供されていますが、ソリューションで使用する前に、データの送信先のサービスについて詳しく知っておくと便利です。他の AWS のサービスの詳細な説明は、これらのチュートリアルの範囲外です。
チュートリアルのシナリオの概要
これらのチュートリアルのシナリオは、定期的にデータを発行する気象センサーデバイスのシナリオです。この架空のシステムには、このようなセンサー装置がたくさんあります。ただし、このセクションのチュートリアルでは、1 つのデバイスに焦点を当てつつ、複数のセンサーに対応する方法を示します。
このセクションのチュートリアルでは、AWS IoT ルールを使用して、この気象センサーデバイスの架空のシステムで以下のタスクを実行する方法を示します。
-
チュートリアル: MQTT メッセージの再発行
このチュートリアルでは、気象センサーから受信した MQTT メッセージを、センサー ID と温度値のみを含むメッセージとして再発行する方法を示します。AWS IoT Core サービスのみを使用し、シンプルな SQL クエリと MQTT クライアントを使用してルールをテストする方法をデモンストレーションします。
-
チュートリアル: Amazon SNS 通知の送信
このチュートリアルでは、気象センサーデバイスの値が特定の値を超えた場合に SNS メッセージを送信する方法を示します。これは、前のチュートリアルで示した概念に基づいて構築されており、別の AWS のサービスである Amazon Simple Notification Service (Amazon SNS) とともに使用する方法を追加しています。
Amazon SNS を初めて使用する場合は、このチュートリアルを開始する前に、開始方法の演習を行います。
-
チュートリアル: デバイスデータの DynamoDB テーブルへの保存
このチュートリアルでは、気象センサーデバイスのデータをデータベーステーブルに保存する方法を示します。ルールクエリステートメントと置換テンプレートを使用して、送信先のサービスである Amazon DynamoDB のメッセージデータをフォーマットします。
DynamoDB を初めて使用する場合は、このチュートリアルを開始する前に、開始方法の演習を行います。
-
チュートリアル: AWS Lambda 関数を使用して通知をフォーマットする
このチュートリアルでは、Lambda 関数を呼び出してデバイスデータを再フォーマットし、それをテキストメッセージとして送信する方法を示します。Python スクリプトと AWS SDK 関数を AWS Lambda 関数に追加して、気象センサーデバイスからのメッセージペイロードデータをフォーマットし、テキストメッセージを送信します。
Lambda を初めて使用する場合は、このチュートリアルを開始する前に、開始方法の演習を行います。
AWS IoT ルールの概要
これらのチュートリアルはすべて、AWS IoT ルールを作成します。
デバイスから別の AWS のサービスにデータを送信する AWS IoT ルールでは、以下を使用します。
-
ルールクエリステートメントは、次のもので構成されます。
-
メッセージペイロードからデータを選択してフォーマットする SQL SELECT 句
-
使用するメッセージを識別するトピックフィルター (ルールクエリステートメントの FROM オブジェクト)
-
アクションを実行する特定の条件を指定するオプションの条件ステートメント (SQL WHERE 句)
-
-
少なくとも 1 つのルールアクション
デバイスは、MQTT トピックにメッセージを発行します。SQL SELECT ステートメントのトピックフィルターは、ルールを適用する MQTT トピックを識別します。SQL SELECT ステートメントで指定されたフィールドは、ルールのアクションで使用するために、着信 MQTT メッセージペイロードからのデータをフォーマットします。ルールのすべてのアクションのリストについては、「AWS IoT ルールのアクション」を参照してください。