Мы знаем, что у IoT есть действия SNS.
Как мы можем отправить сообщение из IoT Topi c в SNS Topi c с фильтрацией?
const AWS = require('aws-sdk');
const awsConfig = require('./config');
AWS.config.update(awsConfig["ps-master-develop"]);
const iotdata = new AWS.IotData({endpoint: 'a1wnl0nxpcssf9-ats.iot.us-east-1.amazonaws.com'});
const payload = {
"messageType": [
"deviceActivity"
],
"Body": "Information about current status",
"MessageAttributes": {
"messageType": {
"StringValue": "deviceActivity",
"DataType": "String"
}
},
"deviceid" : "iot123",
"temp" : 54.98,
"humidity" : 32.43
}
const params = {
topic: 'xyz/1',
payload: Buffer.from(JSON.stringify(payload)),
qos: 0
};
return iotdata.publish(params, function (err, data) {
if (err) {
console.log(err);
} else {
console.log("Success");
}
});
Заявление о правиле простое, как показано ниже:
SELECT *, 'xxx' AS bar.baz FROM 'xyz/+'
Настройки фильтра SNS