通过控制台创建的“事物”的 aws iot mqtt 客户端 ID

问题描述

我正在使用 javascript aws-iot-device-sdk 将我的东西连接到 AWS IoT。

我使用 aws iot cli(create-thing、create-keys-and-certificate、attach-policy、attach-thing-principal)创建了一个东西“thing1”。

使用“创建事物”向导在 AWS IoT 控制台中创建的另一个事物“事物 2”。

对于“thing1”和“thing2”,命令“aws iot describe-thing”分别返回defaultClientId“thing1”和“thing2”,这两个字符串与设备名称相同。

当我测试设备 mqtt 客户端 (aws-iot-device-sdk/device) 时,"thing1" 可以用 clientId "thing1" 初始化:

const awsIoT = require('aws-iot-device-sdk');
const device = awsIoT.device({
    keyPath: keyPath,certPath: certPath,caPath: caPath,clientId: "thing1",host: endpointFile.endpointAddress
});

但是当 clientId 为“thing2”时,“thing2”不起作用。在这种情况下, device.on("connect"...) 和 device.on("error" ...) 没有发生,我只能看到 device.on('offline'...) 和 device.on ('关闭'...)

最后,在我从 AWS IoT 控制台下载的连接工具包的 start.sh 中找到了“thing2”的工作 clientId:“sdk-nodejs-e3f36aec-91f6-4e57-830c-abcdefqrstuvxyz”:

const device = awsIoT.device({
    keyPath: keyPath,clientId: "sdk-nodejs-e3f36aec-91f6-4e57-830c-abcdefqrstuvxyz",host: endpointFile.endpointAddress
});

哪个 aws iot cli 命令显示了这个 clientId(“sdk-nodejs-e3f36aec-91f6-4e57-830c-abcdefqrstuvxyz”,它是由 AWS IoT 控制台 Things Create 向导神秘地创建的)?或者我可以在控制台的哪里找到它?如何更改客户 ID?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)