Aws-iot-device-sdk-python-v2: MQTT sobre Websocket não pode se conectar

Criado em 28 abr. 2020  ·  3Comentários  ·  Fonte: aws/aws-iot-device-sdk-python-v2

Confirme alterando [] para [x] abaixo para garantir que é um bug:

Descreva o bug
A conexão MQTT por meio de Websocket não pode se conectar, embora um MQTT normal esteja funcionando bem.

Número da versão do SDK
awscrt == 0,5.13
awsiotsdk == 1.0.6

Plataforma / SO / Dispositivo
MAC

Para reproduzir (comportamento observado)

  1. Crie uma nova coisa com uma política iot: * e * para o ARN.
    2.- Execute o exemplo pubsub com a opção websocket, não funcionará.

Comportamento esperado
Para trabalhar o mais suavemente possível

Logs / saída

Registros completos podem ser encontrados aqui

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

Contexto adicional
Ao conectar sem websocket, ele funciona conforme o esperado.

bug needs-triage

Todos 3 comentários

Você pode fechar isso, era um problema com as permissões relacionadas às permissões do usuário IAM, então algum feedback:

  1. Seria incrível se o erro mostrasse algo relacionado a isso e não:
    awscrt.exceptions.AwsCrtError: AwsCrtError(name='AWS_ERROR_MQTT_UNEXPECTED_HANGUP', message='The connection was closed unexpectedly.', code=5134)
    2.- Seria ótimo se você pudesse apontar as pessoas para a documentação onde diz quais permissões são necessárias, eu dei AWSIOTFullAccess, e funcionou, mas eu não sei exatamente quais são necessárias.

Oi, desculpe, eu não entendi como você resolveu o problema. Você pode explicar mais? Eu tenho o mesmo problema ao usar o shadow.py de amostra e sou um iniciante

Pode haver muitas causas para um desligamento inesperado, mas victorct-pronto corrigiu seu problema usando uma política de IAM superpermissiva chamada AWSIOTFullAccess. Se parece com isso:

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

Depois de fazer seu código funcionar, certifique-se de reduzir as permissões de política para apenas o que é necessário. Além disso, se você ainda estiver tendo problemas para fazê-lo funcionar, recomendo abrir um novo problema descrevendo o que você tentou e onde está travado.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

GauravPatni picture GauravPatni  ·  4Comentários

banuprathap picture banuprathap  ·  10Comentários

Sanrro10 picture Sanrro10  ·  16Comentários

supertick picture supertick  ·  7Comentários

shravan097 picture shravan097  ·  6Comentários