Kies in een toepassing die al de Azure IoT Python SDK gebruikt het MQTT-transport en de proxyopties ervan samen. Deze configuratie selecteert MQTT via 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
)

De klassen komen uit de gedocumenteerde interface van de SDK. Geef de verbindingsreeks van het apparaat door via de geheime configuratie van de toepassing en vervang het voorbeeld-proxyeindpunt. Voor een openbaar bereikbaar IoT Hub-eindpunt waar openbare tussenpersonen zijn toegestaan, biedt de HTTP-proxylijst kandidaten voor de HTTP-host en -poort; bevestig dat de dienst de route naar de bestemming toestaat. Dit zijn expliciete SDK-opties; een proxy die in de browser werkt of een algemene instelling van het besturingssysteem legt de route van de apparaatclient niet vast.

Raadpleeg de ProxyOptions-referentie voor het gekozen proxytype. Die onderscheidt HTTP-, SOCKS4- en SOCKS5-velden en documenteert type-specifiek gedrag van gebruikersnaam en wachtwoord, inclusief beperkingen voor HTTP. De aanwezigheid van een veld belooft niet elk authenticatiemechanisme.

Het proxyaccount en de apparaatidentiteit autoriseren verschillende fasen. Een geweigerde uitwisseling via een tussenpersoon kan de verbinding stoppen voordat de broker de apparaatreferentie beoordeelt. Het kiezen van WebSockets laat ook de bestemmings- en toegangsbeperkingen van de proxy van kracht.

Noteer het gekozen transport, de bestemming en de eerste mislukte fase. De SDK-client, de proxy-implementatie en de toegestane route moeten overeenkomen; noch een geslaagde browseraanvraag noch de algemene bewering dat SOCKS elk protocol draagt levert die compatibiliteit.

Gerelateerde artikelen