通过将下面的 [ ] 更改为 [x] 来确认它是一个错误:
描述错误
MQTT over Websocket 连接无法连接,即使普通 MQTT 工作正常。
SDK版本号
awscrt==0.5.13
awsiotsdk==1.0.6
平台/操作系统/设备
苹果电脑
再现(观察到的行为)
预期行为
尽可能顺利地工作
日志/输出
完整的日志可以在这里找到
python pubsub.py --endpoint xxxxxxxx-ats.iot.us-east-2.amazonaws.com --root-ca AmazonRootCA1.pem --cert Certificate.crt --key PrivateKey.pem.key --use-websocket --signing-region us-east-2 --verbosity Debug
附加上下文
在没有 websocket 的情况下连接时,它按预期工作。
可以关闭这个,是IAM用户权限相关的权限有问题,所以反馈一下:
awscrt.exceptions.AwsCrtError: AwsCrtError(name='AWS_ERROR_MQTT_UNEXPECTED_HANGUP', message='The connection was closed unexpectedly.', code=5134)
嗨,抱歉我没有明白你是如何解决问题的。 你能解释更多吗? 我在使用示例 shadow.py 时遇到了同样的问题,我是初学者
意外挂断的原因可能有很多,但 victorct-pronto 通过使用名为 AWSIOTFullAccess 的超级宽松 IAM 策略解决了他的问题。 它看起来像这样:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iot:*"
],
"Resource": "*"
}
]
}
使代码工作后,请确保将策略权限减少到仅需要的权限。 此外,如果您仍然无法正常工作,我建议您打开一个新问题,描述您尝试过的内容以及您遇到的问题。