翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
での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} }" } ] }