Aws-iot-device-sdk-python-v2: MQTT sobre Websocket no se puede conectar

Creado en 28 abr. 2020  ·  3Comentarios  ·  Fuente: aws/aws-iot-device-sdk-python-v2

Confirme cambiando [] a [x] a continuación para asegurarse de que se trata de un error:

Describe el error
La conexión MQTT a través de Websocket no se puede conectar, aunque un MQTT normal funciona bien.

Número de versión del SDK
awscrt == 0.5.13
awsiotsdk == 1.0.6

Plataforma / SO / Dispositivo
MAC

Reproducir (comportamiento observado)

  1. Cree una cosa nueva con una política iot: * y * para el ARN.
    2.- Ejecuta el ejemplo de pubsub con la opción websocket, no funcionará.

Comportamiento esperado
Trabajar lo más suave posible

Registros / salida

Los registros completos se pueden encontrar aquí

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
Cuando se conecta sin websocket, funciona como se esperaba.

bug needs-triage

Todos 3 comentarios

Puede cerrar esto, fue un problema con los permisos relacionados con los permisos del usuario de IAM, por lo que algunos comentarios:

  1. Sería genial si el error mostrara algo relacionado con esto y no:
    awscrt.exceptions.AwsCrtError: AwsCrtError(name='AWS_ERROR_MQTT_UNEXPECTED_HANGUP', message='The connection was closed unexpectedly.', code=5134)
    2.- Sería genial si pudieras señalar a la gente la documentación donde dice qué permisos se necesitan, le di AWSIOTFullAccess y funcionó, pero no sé exactamente cuáles se necesitan.

Hola, lo siento, no entendí cómo resolviste el problema. ¿Puedes explicarme mas? Tengo el mismo problema cuando uso la muestra shadow.py y soy un principiante

Puede haber muchas causas para un bloqueo inesperado, pero victorct-pronto solucionó su problema utilizando una política de IAM súper permisiva llamada AWSIOTFullAccess. Se parece a esto:

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

Después de que su código funcione, asegúrese de reducir los permisos de la política a solo lo necesario. Además, si todavía tiene problemas para que funcione, le recomiendo abrir un nuevo número que describa lo que ha intentado y dónde está atascado.

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

shravan097 picture shravan097  ·  6Comentarios

satay99 picture satay99  ·  6Comentarios

mkozjak picture mkozjak  ·  17Comentarios

banuprathap picture banuprathap  ·  10Comentarios

GauravPatni picture GauravPatni  ·  4Comentarios