如何解决与 <AWS IoT Url> 的 WebSocket 连接失败:EMPTY
我正在使用这个库来处理我的 AWS IoT MQTT 主题。但是,我在尝试连接到以下格式的预签名 url 时遇到了问题:
wss://<endpoint>.iot.us-west-2.amazonaws.com/mqtt?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=<credential>%2Fus-west-2%2Fiotdevicegateway%2Faws4_request&X-Amz-Date=<date>&X-Amz-Expires=86400&X-Amz-SignedHeaders=host&X-Amz-Signature=<signature>&X-Amz-Security-Token=<security-token>
这是我用于此测试的示例代码:
import * as mqtt from 'mqtt';
try {
const options: Partial<IClientOptions> = {
will: {
topic: 'hello',payload: JSON.stringify({ clientId: '1',username: 'sean' }),qos: 1,retain: true
},port: 443,clientId: '1',username: 'sean'
};
const client = mqtt.connect(
request.url,options);
console.log(client);
client.on('connect',function() {
client.subscribe('hello',function (err) {
if (!err) {
client.publish('presence','Hello mqtt')
}
});
});
client.on('error',(err) => {
console.log('error',err);
client.end()
});
} catch (error) {
console.log(error);
}
不幸的是,当我启动网页时,我在 Chrome 开发工具中收到以下重复错误:
WebSocket connection to <AWS IoT Url> Failed:
通常,在 '... Failed:' 字符串之后会显示实际的错误消息。在代码中,我看到一个记录错误的 nop 函数。只是想知道什么错误通常会导致调用 nop 函数,我该如何开始测试为什么我的 url 无法连接?
解决方法
发现我的 AWS IoT IAM 凭证无效,因此我无法正确连接到云。如果开发人员有时间,那么如果连接函数会通知这可能是问题,那将会很有用。当前显示空错误消息的功能使得实际调试问题变得困难 ?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。