node.js - AWS IoT 事物在订阅后自动断开连接
问题描述
正如我们在上面看到的,我们的 AWS IoT 端点在订阅主题后会自动断开连接。我们将 Node.js 用于连接和断开服务,它更新了相应的 lambda 函数以发布消息。此问题仅在 Pi 重新启动后出现。我正在使用crontab来安排端点的自动运行命令。在这方面的任何帮助都会对我有很大帮助。提前致谢。
下面给出disconnect lambda函数,供参考。
const AWS = require('aws-sdk');
const iotdata = new AWS.IotData({
endpoint: '**********-ats.iot.us-east-1.amazonaws.com'
});
exports.handler = function (event, context) {
const clientID = event.clientId;
console.log("Client id is " + clientID);
const params = {
topic: '$aws/things/' + clientID + '/shadow/update',
payload: JSON.stringify({
"state": {
"reported": {
"connected": false
}
}
}),
qos: 0
};
iotdata.publish(params, function (err, data) {
if (err) {
console.log(err);
} else {
console.log('Disconnected message published to \"' + params.topic + '\" as: ' + params.payload);
}
});
};
解决方案
推荐阅读
- powershell - 为什么我的 powershell 上传到 lambda 将目录视为文件?
- php - 在类构造函数中使用匿名函数并在方法中使用
- javascript - 如何使用动态路径作为突变的有效负载从 Vuex 存储中删除条目?
- powershell - 使用单行 powershell 命令将多个用户添加到多个 OU
- swift - MacOS Playground:如何更改背景颜色?
- r - 过滤行时这些类型的比较未实现错误
- dji-sdk - 使用 SDK 从 A3 飞控获取 GPS 坐标
- php - 通过 post_title 订购关系 ACF
- c# - @Html.CheckBoxFor 与 for 循环中的字符串
- typescript - 您如何查看 intellij 认为您当前文件的文件类型?