V aplikaci, která již používá Azure IoT Python SDK, volíme přenos MQTT a jeho možnosti proxy společně. Tato konfigurace volí MQTT přes 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
)

Třídy pocházejí z dokumentovaného rozhraní SDK. Předejte připojovací řetězec zařízení přes tajnou konfiguraci aplikace a nahraďte ukázkový koncový bod proxy. Pro veřejně dostupný koncový bod IoT Hub, kde jsou povoleni veřejní zprostředkovatelé, nabízí seznam HTTP proxy kandidáty pro hostitele a port HTTP; ověřte, že služba povoluje trasu k cíli. Jsou to explicitní možnosti SDK; proxy fungující v prohlížeči nebo obecné nastavení operačního systému trasu klienta zařízení nevytváří.

Pro zvolený typ proxy se podívejte do referenční příručky ProxyOptions. Rozlišuje pole HTTP, SOCKS4 a SOCKS5 a dokumentuje chování uživatelského jména a hesla specifické pro typ, včetně omezení pro HTTP. Přítomnost pole neslibuje každý mechanismus ověřování.

Účet proxy a identita zařízení autorizují různé fáze. Odmítnutá výměna přes zprostředkovatele může zastavit spojení dříve, než broker vyhodnotí přihlašovací údaj zařízení. Volba WebSockets také ponechává v platnosti omezení proxy týkající se cíle a přístupu.

Zaznamenejte zvolený přenos, cíl a první neúspěšnou fázi. Klient SDK, implementace proxy a povolená trasa se musí shodovat; ani úspěšný požadavek prohlížeče, ani obecné tvrzení, že SOCKS přenáší každý protokol, tuto kompatibilitu nezajišťuje.

Související články