Azure IoT Python: konfiguracja MQTT przez WebSockets za pośrednictwem proxy
Skonfiguruj obsługiwane opcje proxy klienta Azure IoT Python i świadomie wybierz MQTT przez WebSockets.
W aplikacji, która już korzysta z Azure IoT Python SDK, wybieraj transport MQTT i jego opcje proxy razem. Ta konfiguracja wybiera MQTT przez 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
)
Klasy pochodzą z udokumentowanego interfejsu SDK. Podaj parametry połączenia urządzenia przez tajną konfigurację aplikacji i zastąp przykładowy punkt końcowy proxy. Dla publicznie osiągalnego punktu końcowego IoT Hub, w którym dozwolone są publiczne pośredniki, lista proxy HTTP oferuje kandydatów na host i port HTTP; potwierdź, że usługa zezwala na trasę do celu. To jawne opcje SDK; działające w przeglądarce proxy lub ogólne ustawienie systemu operacyjnego nie ustala trasy klienta urządzenia.
Sprawdź dokumentację ProxyOptions dla wybranego typu proxy. Rozróżnia pola HTTP, SOCKS4 i SOCKS5 oraz opisuje zachowanie nazwy użytkownika i hasła właściwe dla typu, w tym ograniczenia dla HTTP. Obecność pola nie gwarantuje każdego mechanizmu uwierzytelniania.
Konto proxy i tożsamość urządzenia autoryzują różne etapy. Odrzucona wymiana przez pośrednika może zatrzymać połączenie, zanim broker oceni poświadczenia urządzenia. Wybór WebSockets pozostawia też w mocy ograniczenia proxy dotyczące celu i dostępu.
Zapisz wybrany transport, cel i pierwszy nieudany etap. Klient SDK, implementacja proxy i dozwolona trasa muszą się zgadzać; ani udane żądanie przeglądarki, ani ogólne twierdzenie, że SOCKS przenosi każdy protokół, nie zapewniają tej zgodności.