Amazon web services aws物联网mqtt客户端id为;“事物”;通过控制台创建

Amazon web services aws物联网mqtt客户端id为;“事物”;通过控制台创建,amazon-web-services,mqtt,iot,clientid,Amazon Web Services,Mqtt,Iot,Clientid,我正在使用javascript aws物联网设备sdk将我的东西连接到aws物联网 我使用aws iot cli创建了一个东西“thing1”(创建东西、创建密钥和证书、附加策略、附加东西主体) 另一个东西“thing2”是使用“创建东西”向导在AWS物联网控制台中创建的 对于“thing1”和“thing2”,命令“aws iot description thing”分别返回defaultClientId“thing1”和“thing2”,这两个字符串与设备名称相同 当我测试设备mqtt客户端

我正在使用javascript aws物联网设备sdk将我的东西连接到aws物联网

我使用aws iot cli创建了一个东西“thing1”(创建东西、创建密钥和证书、附加策略、附加东西主体)

另一个东西“thing2”是使用“创建东西”向导在AWS物联网控制台中创建的

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

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

但当客户ID为“thing2”时,“thing2”不起作用。在本例中,device.on(“connect”…)和device.on(“error”…)没有发生,我只能看到device.on('offline')和device.on('close')

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

哪个aws iot cli命令显示此客户端ID(“sdk-nodejs-e3f36aec-91f6-4e57-830c-abcdefqrstuvxyz”由aws iot控制台创建向导神秘创建)?或者在控制台的哪里可以找到它?如何更改客户端id

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