Azure IoT Python: konfigurisanje MQTT-a preko WebSocketsa kroz proxy
Konfigurišite podržane proxy opcije Azure IoT Python klijenta i svesno izaberite MQTT preko WebSocketsa.
U aplikaciji koja već koristi Azure IoT Python SDK, birajte MQTT transport i njegove proxy opcije zajedno. Ova konfiguracija bira MQTT preko WebSocketsa:
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
)
Klase dolaze iz dokumentovanog interfejsa SDK-a. Prenesite connection string uređaja kroz tajnu konfiguraciju aplikacije i zamenite primjer proxy endpointa. Za javno dostupan IoT Hub endpoint gde su dozvoljeni javni posrednici, lista HTTP proxyja nudi kandidate za HTTP host i port; potvrdite da usluga dozvoljava rutu do odredišta. Ovo su eksplicitne SDK opcije; proxy koji radi u pregledaču ili opšta postavka operativnog sistema ne uspostavlja rutu klijenta uređaja.
Proverite referencu ProxyOptions za izabrani tip proxyja. Ona razlikuje polja HTTP, SOCKS4 i SOCKS5 i dokumentuje ponašanje korisničkog imena/lozinke specifično za tip, uključujući ograničenja za HTTP. Prisustvo polja ne garantuje svaki mehanizam autentifikacije.
Proxy nalog i identitet uređaja autorizuju različite faze. Odbijena razmena preko posrednika može zaustaviti vezu pre nego što broker proceni akreditive uređaja. Izbor WebSocketsa takođe ostavlja na snazi proxyjeva ograničenja odredišta i pristupa.
Zabeležite izabrani transport, odredište i prvu neuspešnu fazu. SDK klijent, proxy implementacija i dozvoljena ruta moraju se slagati; ni uspešan zahtev pregledača ni opšta tvrdnja da SOCKS prenosi svaki protokol ne pružaju tu kompatibilnost.