Azure IoT Python: konfigurácia MQTT cez WebSockets cez proxy
Nakonfigurujte podporované možnosti proxy klienta Azure IoT Python a vedome zvoľte MQTT cez WebSockets.
V aplikácii, ktorá už používa Azure IoT Python SDK, volíme prenos MQTT a jeho možnosti proxy spoločne. Táto konfigurácia volí MQTT cez 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
)
Triedy pochádzajú z dokumentovaného rozhrania SDK. Odovzdajte pripojovací reťazec zariadenia cez tajnú konfiguráciu aplikácie a nahraďte ukážkový koncový bod proxy. Pre verejne dostupný koncový bod IoT Hub, kde sú povolení verejní sprostredkovatelia, zoznam HTTP proxy ponúka kandidátov pre hostiteľa a port HTTP; overte, že služba povoľuje trasu k cieľu. Sú to explicitné možnosti SDK; proxy fungujúca v prehliadači alebo všeobecné nastavenie operačného systému trasu klienta zariadenia nevytvára.
Pre zvolený typ proxy si pozrite referenciu ProxyOptions. Rozlišuje polia HTTP, SOCKS4 a SOCKS5 a dokumentuje správanie používateľského mena a hesla špecifické pre typ, vrátane obmedzení pre HTTP. Prítomnosť poľa nesľubuje každý mechanizmus overovania.
Účet proxy a identita zariadenia autorizujú rôzne fázy. Odmietnutá výmena cez sprostredkovateľa môže zastaviť spojenie skôr, než broker vyhodnotí poverenie zariadenia. Voľba WebSockets tiež ponecháva v platnosti obmedzenia proxy týkajúce sa cieľa a prístupu.
Zaznamenajte zvolený prenos, cieľ a prvú neúspešnú fázu. Klient SDK, implementácia proxy a povolená trasa sa musia zhodovať; ani úspešná požiadavka prehliadača, ani všeobecné tvrdenie, že SOCKS prenáša každý protokol, túto kompatibilitu nezabezpečujú.