Ingestieren Sie MQTT-Nachrichten in AWS IoT Events - AWS IoT Events

Hinweis zum Ende des Supports: Am 20. Mai 2026 AWS endet der Support für AWS IoT Events. Nach dem 20. Mai 2026 können Sie nicht mehr auf die AWS IoT Events Konsole oder AWS IoT Events die Ressourcen zugreifen. Weitere Informationen finden Sie unter AWS IoT Events Ende des Supports.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Ingestieren Sie MQTT-Nachrichten in AWS IoT Events

Wenn Ihre Sensordatenverarbeitungsressourcen die "BatchPutMessage" API nicht verwenden können, aber ihre Daten mithilfe eines einfachen MQTT-Clients an den AWS IoT Core Message Broker senden können, können Sie eine AWS IoT Core Themenregel erstellen, um Nachrichtendaten an eine AWS IoT Events Eingabe umzuleiten. Im Folgenden finden Sie eine Definition einer AWS IoT Events Themenregel, die die Eingabefelder "areaId" und die "sensorId" Eingabefelder aus dem MQTT-Thema und das "sensorData.temperature" Feld aus dem "temp" Nachrichten-Payload-Feld verwendet und diese Daten in unsere aufnimmt. AWS IoT Events "temperatureInput"

CLI-Befehl:

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

Datei: 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" } }

Antwort: [keine]

Wenn der Sensor eine Nachricht zum Thema "update/temperature/Area51/03" mit der folgenden Nutzlast sendet.

{ "temp": 24.5 }

Dies führt dazu, dass Daten aufgenommen werden, AWS IoT Events als ob der folgende "BatchPutMessage" API-Aufruf getätigt worden wäre.

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

Datei: spoofExample.json

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