Aws-iot-device-sdk-python-v2: Websocket 上的 MQTT 无法连接

创建于 2020-04-28  ·  3评论  ·  资料来源: aws/aws-iot-device-sdk-python-v2

通过将下面的 [ ] 更改为 [x] 来确认它是一个错误:

描述错误
MQTT over Websocket 连接无法连接,即使普通 MQTT 工作正常。

SDK版本号
awscrt==0.5.13
awsiotsdk==1.0.6

平台/操作系统/设备
苹果电脑

再现(观察到的行为)

  1. 使用策略 iot:* 和 * 为 ARN 创建一个新事物。
    2.- 使用 websocket 选项执行 pubsub 示例,它将不起作用。

预期行为
尽可能顺利地工作

日志/输出

完整的日志可以在这里找到

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 的情况下连接时,它按预期工作。

bug needs-triage

所有3条评论

可以关闭这个,是IAM用户权限相关的权限有问题,所以反馈一下:

  1. 如果错误显示与此相关的内容而不是:
    awscrt.exceptions.AwsCrtError: AwsCrtError(name='AWS_ERROR_MQTT_UNEXPECTED_HANGUP', message='The connection was closed unexpectedly.', code=5134)
    2.- 如果您可以将人们指向说明需要哪些权限的文档,我提供了 AWSIOTFullAccess,并且它起作用了,那将是很棒的,但我不知道到底需要哪些权限。

嗨,抱歉我没有明白你是如何解决问题的。 你能解释更多吗? 我在使用示例 shadow.py 时遇到了同样的问题,我是初学者

意外挂断的原因可能有很多,但 victorct-pronto 通过使用名为 AWSIOTFullAccess 的超级宽松 IAM 策略解决了他的问题。 它看起来像这样:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "iot:*"
            ],
            "Resource": "*"
        }
    ]
}

使代码工作后,请确保将策略权限减少到仅需要的权限。 此外,如果您仍然无法正常工作,我建议您打开一个新问题,描述您尝试过的内容以及您遇到的问题。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

shravan097 picture shravan097  ·  6评论

mkozjak picture mkozjak  ·  17评论

supertick picture supertick  ·  7评论

GauravPatni picture GauravPatni  ·  4评论

Sanrro10 picture Sanrro10  ·  16评论