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 odaberite 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 dopušteni javni posrednici, popis HTTP proxyja nudi kandidate za HTTP host i port; potvrdite da usluga dopušta rutu do odredišta. To su eksplicitne SDK opcije; proxy koji radi u pregledniku ili opća postavka operacijskog sustava ne uspostavlja rutu klijenta uređaja.
Provjerite referencu ProxyOptions za odabrani tip proxyja. 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. Prisutnost polja ne jamči 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 dopuštena ruta moraju se slagati; ni uspješan zahtjev preglednika ni opća tvrdnja da SOCKS prenosi svaki protokol ne pružaju tu kompatibilnost.