Inserisci MQTT messaggi in AWS IoT Events - AWS IoT Events

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 MQTT messaggi in AWS IoT Events

Se le risorse di elaborazione dei sensori non possono utilizzare "BatchPutMessage"API, ma possono inviare i dati al broker di AWS IoT Core messaggi utilizzando un MQTT client 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 di "sensorId" input dall'MQTTargomento e il "sensorData.temperature" campo dal campo del payload del messaggio e inserisce questi dati "temp" nel nostro. AWS IoT Events "temperatureInput"

CLIcomando:

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 "BatchPutMessage" API chiamata seguente.

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} }" } ] }