Conexión Python MQTT a Azure Iot Hub

Quiero conectarme a Azure Iot Hub, con Python MQTT.

Iot Hub requiere un nombre de usuario y token SAS. Este es mi código:

import paho.mqtt.client as mqtt

def on_connect(client, userdata, flags, rc):
    print("Connected with result code "+str(rc))
    client.subscribe("$SYS/#")

def on_message(client, userdata, msg):
    print(msg.topic+" "+str(msg.payload))

client = mqtt.Client()
client.on_connect = on_connect
client.on_message = on_message

client.username_pw_set("myHub.azure-devices.net/device1", "mySASToken")

client.connect("myHub.azure-devices.net", 1883, 60)

client.loop_forever()

Pero después de correr por un tiempo, se lanza esta excepción:

TimeoutError: [WinError 10060] Un intento de conexión falló porque la parte conectada no respondió correctamente después de un período de tiempo, o la conexión establecida falló porque el host conectado no pudo responder

¿Alguien sabe por qué no puedo conectarme al Iot Hub?

Respuestas a la pregunta(4)

Su respuesta a la pregunta