Azure IoT Python: konfiguriranje MQTT-a preko WebSocketsa kroz proxy
Konfigurirajte podržane proxy opcije Azure IoT Python klijenta i svjesno odaberite MQTT preko WebSocketsa.
U aplikaciji koja već koristi Azure IoT Python SDK, birajte MQTT transport i njegove proxy opcije zajedno. Ova konfiguracija odabire 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 dokumentiranog sučelja SDK-a. Prenesite connection string uređaja kroz tajnu konfiguraciju aplikacije i zamijenite primjer proxy endpointa. Za javno dostupan IoT Hub endpoint gdje 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 pregledniku ili opća postavka operativnog sistema ne uspostavlja rutu klijenta uređaja.
Provjerite referencu ProxyOptions za odabrani tip proxyja. Ona razlikuje polja HTTP, SOCKS4 i SOCKS5 i dokumentira 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 račun i identitet uređaja autoriziraju različite faze. Odbijena razmjena preko posrednika može zaustaviti vezu prije nego broker procijeni vjerodajnicu uređaja. Odabir WebSocketsa također ostavlja na snazi proxyjeva ograničenja odredišta i pristupa.
Zabilježite odabrani transport, odredište i prvu neuspjelu fazu. SDK klijent, proxy implementacija i dozvoljena ruta moraju se slagati; ni uspješan zahtjev preglednika ni opća tvrdnja da SOCKS prenosi svaki protokol ne pružaju tu kompatibilnost.