Programoje, kuri jau naudoja Azure IoT Python SDK, MQTT transportą ir jo tarpinio serverio parinktis rinkitės kartu. Ši konfigūracija pasirenka MQTT per 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
)

Klasės kilusios iš dokumentuotos SDK sąsajos. Perduokite įrenginio prisijungimo eilutę per slaptą programos konfigūraciją ir pakeiskite pavyzdinį tarpinio serverio galinį tašką. Jei IoT Hub galinis taškas pasiekiamas viešai ir leidžiami vieši tarpininkai, HTTP tarpinių serverių sąrašas siūlo kandidatus HTTP mazgui ir prievadui; patvirtinkite, kad paslauga leidžia maršrutą į paskirties vietą. Tai aiškios SDK parinktys; naršyklėje veikiantis tarpinis serveris arba bendras operacinės sistemos nustatymas nesukuria įrenginio kliento maršruto.

Pasirinktam tarpinio serverio tipui žr. ProxyOptions nuorodą. Ji išskiria HTTP, SOCKS4 ir SOCKS5 laukus ir dokumentuoja tipui būdingą vartotojo vardo/slaptažodžio elgseną, įskaitant HTTP apribojimus. Lauko buvimas negarantuoja visų autentifikavimo mechanizmų.

Tarpinio serverio paskyra ir įrenginio tapatybė įgalioja skirtingus etapus. Atmestas tarpininko mainai gali sustabdyti ryšį prieš brokeriui įvertinant įrenginio kredencialus. Pasirinkus WebSockets, tarpinio serverio paskirties ir prieigos apribojimai taip pat lieka galioti.

Užrašykite pasirinktą transportą, paskirties vietą ir pirmą nepavykusį etapą. SDK klientas, tarpinio serverio įgyvendinimas ir leidžiamas maršrutas turi sutapti; nei sėkminga naršyklės užklausa, nei bendras teiginys, kad SOCKS perduoda bet kurį protokolą, nesuteikia šio suderinamumo.

Susiję straipsniai