As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Ingerir MQTT mensagens em AWS IoT Events
Se seus recursos de computação de sensores não puderem usar o "BatchPutMessage"
API, mas puderem enviar seus dados para o agente de AWS IoT Core mensagens usando um MQTT cliente leve, você poderá criar uma regra de AWS IoT Core tópico para redirecionar os dados da mensagem para uma AWS IoT Events entrada. A seguir está uma definição de uma regra de AWS IoT Events tópico que usa os campos "areaId"
e de "sensorId"
entrada do MQTT tópico e o "sensorData.temperature"
campo do campo de carga útil "temp"
da mensagem e ingere esses dados em nosso. AWS IoT Events "temperatureInput"
CLIcomando:
aws iot create-topic-rule --cli-input-json file://temperatureTopicRule.json
Arquivo: 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" } }
Resposta: [nenhuma]
Se o sensor enviar uma mensagem sobre o assunto "update/temperature/Area51/03"
com a seguinte carga útil.
{ "temp": 24.5 }
Isso resulta na ingestão de dados AWS IoT Events como se a seguinte "BatchPutMessage"
API chamada tivesse sido feita.
aws iotevents-data batch-put-message --cli-input-json file://spoofExample.json --cli-binary-format raw-in-base64-out
Arquivo: spoofExample.json
{ "messages": [ { "messageId": "54321", "inputName": "temperatureInput", "payload": "{\"sensorId\": \"03\", \"areaId\": \"Area51\", \"sensorData\": {\"temperature\": 24.5} }" } ] }