Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Ingiera MQTT mensajes en AWS IoT Events
Si los recursos informáticos de sus sensores no pueden "BatchPutMessage"
API utilizarlos, pero pueden enviar sus datos al intermediario de AWS IoT Core mensajes mediante un MQTT cliente ligero, puede crear una regla AWS IoT Core temática para redirigir los datos de los mensajes a una AWS IoT Events entrada. La siguiente es una definición de una regla AWS IoT Events temática que toma los campos "areaId"
y de "sensorId"
entrada del MQTT tema y el "sensorData.temperature"
campo del campo de carga "temp"
del mensaje e incorpora estos datos a nuestro. AWS IoT Events "temperatureInput"
CLIcomando:
aws iot create-topic-rule --cli-input-json file://temperatureTopicRule.json
Archivo: 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" } }
Respuesta: [none]
Si el sensor envía un mensaje sobre el tema "update/temperature/Area51/03"
con la siguiente carga.
{ "temp": 24.5 }
Esto hace que los datos se ingieran AWS IoT Events como si se hubiera realizado la siguiente "BatchPutMessage"
API llamada.
aws iotevents-data batch-put-message --cli-input-json file://spoofExample.json --cli-binary-format raw-in-base64-out
Archivo: spoofExample.json
{ "messages": [ { "messageId": "54321", "inputName": "temperatureInput", "payload": "{\"sensorId\": \"03\", \"areaId\": \"Area51\", \"sensorData\": {\"temperature\": 24.5} }" } ] }