Într-o aplicație care folosește deja Azure IoT Python SDK, alegeți împreună transportul MQTT și opțiunile sale de proxy. Această configurație selectează MQTT prin WebSockets:

proxy = ProxyOptions(proxy_type='HTTP',
                     proxy_addr='203.0.113.10', proxy_port=8080)
client = IoTHubDeviceClient.create_from_connection_string(
    connection_string, websockets=True, proxy_options=proxy
)

Clasele provin din interfața documentată a SDK-ului. Furnizați șirul de conectare al dispozitivului prin configurația secretă a aplicației și înlocuiți punctul final de proxy din exemplu. Pentru un punct final IoT Hub accesibil public, unde sunt permise intermediari publici, lista de proxy HTTP oferă candidați pentru gazda și portul HTTP; confirmați că serviciul permite ruta către destinație. Acestea sunt opțiuni explicite ale SDK-ului; un proxy funcțional în browser sau o setare generică a sistemului de operare nu stabilește ruta clientului dispozitivului.

Consultați referința ProxyOptions pentru tipul de proxy selectat. Aceasta distinge câmpurile HTTP, SOCKS4 și SOCKS5 și documentează comportamentul numelui de utilizator/parolei specific tipului, inclusiv limitările pentru HTTP. Prezența unui câmp nu garantează fiecare mecanism de autentificare.

Contul de proxy și identitatea dispozitivului autorizează etape diferite. Un schimb intermediar respins poate opri conexiunea înainte ca brokerul să evalueze acreditarea dispozitivului. Alegerea WebSockets lasă de asemenea în vigoare restricțiile de destinație și acces ale proxy-ului.

Înregistrați transportul ales, destinația și prima etapă eșuată. Clientul SDK, implementarea proxy-ului și ruta permisă trebuie să fie de acord; nici o cerere de browser reușită, nici afirmația generală că SOCKS transportă orice protocol nu oferă acea compatibilitate.

Articole similare