与 <AWS IoT Url> 的 WebSocket 连接失败:EMPTY
WebSocket connection to <AWS IoT Url> failed: 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 凭证无效,因此我无法正确连接到云。如果开发人员有时间,连接函数会通知这可能是问题所在,这将很有用。当前显示空错误消息的功能使得实际调试问题变得困难
我正在使用这个库来处理我的 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 凭证无效,因此我无法正确连接到云。如果开发人员有时间,连接函数会通知这可能是问题所在,这将很有用。当前显示空错误消息的功能使得实际调试问题变得困难