Avviso di fine del supporto: il 20 maggio 2026, AWS terminerà il supporto per AWS IoT Events. Dopo il 20 maggio 2026, non potrai più accedere alla AWS IoT Events console o AWS IoT Events alle risorse. Per ulteriori informazioni, consulta AWS IoT Events Fine del supporto.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Inserisci messaggi MQTT in AWS IoT Events
Se le risorse di elaborazione dei sensori non possono utilizzare l'"BatchPutMessage"
API, ma possono inviare i dati al broker di AWS IoT Core messaggi utilizzando un client MQTT leggero, puoi creare una regola AWS IoT Core tematica per reindirizzare i dati dei messaggi a un AWS IoT Events input. Di seguito è riportata una definizione di una regola AWS IoT Events tematica che prende i campi "areaId"
e "sensorId"
di input dall'argomento MQTT e il "sensorData.temperature"
campo dal campo del payload del messaggio e inserisce questi dati "temp"
nel nostro. AWS IoT Events "temperatureInput"
Comando CLI:
aws iot create-topic-rule --cli-input-json file://temperatureTopicRule.json
File: 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" } }
Risposta: [nessuna]
Se il sensore invia un messaggio sull'argomento "update/temperature/Area51/03"
con il seguente payload.
{ "temp": 24.5 }
Ciò comporta l'inserimento dei dati AWS IoT Events come se fosse stata effettuata la seguente chiamata "BatchPutMessage"
API.
aws iotevents-data batch-put-message --cli-input-json file://spoofExample.json --cli-binary-format raw-in-base64-out
File: spoofExample.json
{ "messages": [ { "messageId": "54321", "inputName": "temperatureInput", "payload": "{\"sensorId\": \"03\", \"areaId\": \"Area51\", \"sensorData\": {\"temperature\": 24.5} }" } ] }