避免来自 AWS IoT 的过多通知



我正在使用 aws iot javascript sdk 进行推送通知(在 nodejs lambda 函数中(。当我向主题推送一个通知时,订阅者会多次收到相同的通知。

const iotdata = new AWS.IotData({endpoint: '1234332.iot.eu-west-2.amazonaws.com'});
var params = {
topic: `room/public/notification`,
payload: JSON.stringify(notification),
qos: 1
};
iotdata.publish(params, function(err, data){
if(err){
console.log(err);
}
else{
console.log(data);
}
});

你能帮我找到我在这里做错了什么吗?

该问题的解决方案是在级别 2 上设置 QoS - 即保证一次交付。

从 mqtt 标准: "4.3.3 QoS 2:恰好一次交付 这是最高质量的服务,适用于消息丢失或重复均不可接受的情况。与这种服务质量相关的开销会增加。

最新更新