でのMQTTメッセージの取り込み AWS IoT Events - AWS IoT Events

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

でのMQTTメッセージの取り込み AWS IoT Events

センサーコンピューティングリソースが を使用できないが"BatchPutMessage"API、軽量MQTTクライアントを使用してそのデータを AWS IoT Core メッセージブローカーに送信できる場合は、 AWS IoT Core トピックルールを作成してメッセージデータを AWS IoT Events 入力にリダイレクトできます。以下は、 AWS IoT Events トピックから "areaId"および "sensorId" 入力フィールドを取得し、メッセージペイロード"sensorData.temperature"フィールドから "temp"フィールドを取得し、このデータを に取り込むMQTTトピックルールの定義です AWS IoT Events "temperatureInput"

CLI コマンド:

aws iot create-topic-rule --cli-input-json file://temperatureTopicRule.json

ファイル: seedSetDesiredTemp.json

{ "ruleName": "temperatureTopicRule", "topicRulePayload": { "sql": "SELECT topic(3) as areaId, topic(4) as sensorId, temp as sensorData.temperature FROM 'update/temperature/#'", "description": "Ingest temperature sensor messages into IoT Events", "actions": [ { "iotEvents": { "inputName": "temperatureInput", "roleArn": "arn:aws:iam::123456789012:role/service-role/anotheRole" } } ], "ruleDisabled": false, "awsIotSqlVersion": "2016-03-23" } }

レスポンス: [なし]

センサーがトピック "update/temperature/Area51/03" に関するメッセージを次のペイロードで送信した場合。

{ "temp": 24.5 }

これにより、次の"BatchPutMessage"API呼び出しが行われた AWS IoT Events かのようにデータが に取り込まれます。

aws iotevents-data batch-put-message --cli-input-json file://spoofExample.json --cli-binary-format raw-in-base64-out

ファイル: spoofExample.json

{ "messages": [ { "messageId": "54321", "inputName": "temperatureInput", "payload": "{\"sensorId\": \"03\", \"areaId\": \"Area51\", \"sensorData\": {\"temperature\": 24.5} }" } ] }