AWS IoT Events
AWS IoT Events (iotEvents) アクションは、MQTT メッセージから AWS IoT Events 入力にデータを送信します。
重要
ペイロードが Input attribute
Key なしで AWS IoT Core に送信された場合、またはキーがキーで指定されているのと同じ JSON パスにない場合は、IoT ルールがエラー Failed to send message
to Iot Events で失敗します。
要件
このルールアクションには、以下の要件があります。
-
iotevents:BatchPutMessageオペレーションを実行するために AWS IoT が引き受けることができる IAM ロール。詳細については、「AWS IoT ルールに必要なアクセスを付与する」を参照してください。AWS IoT コンソールで、AWS IoT がこのルールアクションを実行できるようにするロールを選択または作成できます。
パラメータ
このアクションで AWS IoT ルールを作成するときは、次の情報を指定する必要があります。
batchMode-
(オプション) イベントアクションをバッチとして処理するかどうか。デフォルト値は
falseです。batchModeがtrueであり、ルールの SQL ステートメントが配列として評価されると、BatchPutMessageを呼び出して AWS IoT Events に各配列要素が送信されるときにそれらの要素が個別のメッセージとして扱われます。結果の配列には 10 を超えるメッセージを含めることはできません。batchModeがtrueの場合、messageIdを指定することはできません。置換テンプレートをサポート: いいえ
inputName-
AWS IoT Events 入力の名前。
置換テンプレートのサポート: API と AWS CLI のみ
messageId-
(オプション) これは、指定した
messageIdを持つ 1 つの入力 (メッセージ) のみが AWS IoT Events ディテクターによって処理されることを検証するために使用します。${newuuid()}置換テンプレートを使用して、リクエストごとに一意の ID を生成できます。batchModeがtrueである場合、messageIdを指定することはできません。新しい UUID 値が割り当てられます。置換テンプレートをサポート: はい
roleArn-
AWS IoT が AWS IoT Events ディテクターに入力を送信することを許可する IAM ロール。詳細については、「要件」を参照してください。
置換テンプレートをサポート: いいえ
例
次の JSON 例では、AWS IoT ルールで IoT Events アクションを定義します。
{ "topicRulePayload": { "sql": "SELECT * FROM 'some/topic", "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23", "actions": [ { "iotEvents": { "inputName": "MyIoTEventsInput", "messageId": "${newuuid()}", "roleArn": "arn:aws:iam::123456789012:role/aws_iot_events" } } ] } }
以下の資料も参照してください。
-
「AWS IoT Events デベロッパーガイド」の 「AWS IoT Events とは?」