У апликацији која већ користи Azure IoT Python SDK, бирајте MQTT транспорт и његове прокси опције заједно. Ова конфигурација бира MQTT преко 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
)

Класе долазе из документованог интерфејса SDK-а. Проследите connection string уређаја кроз тајну конфигурацију апликације и замените пример прокси endpoint-а. За јавно доступан IoT Hub endpoint где су дозвољени јавни посредници, листа HTTP проксија нуди кандидате за HTTP хост и порт; потврдите да услуга дозвољава руту до одредишта. Ово су експлицитне SDK опције; прокси који ради у прегледачу или општа поставка оперативног система не успоставља руту клијента уређаја.

Проверите референцу ProxyOptions за изабрани тип проксија. Она разликује поља HTTP, SOCKS4 и SOCKS5 и документује понашање корисничког имена/лозинке специфично за тип, укључујући ограничења за HTTP. Присуство поља не гарантује сваки механизам аутентификације.

Прокси налог и идентитет уређаја ауторизују различите фазе. Одбијена размена преко посредника може зауставити везу пре него што брокер процени акредитиве уређаја. Избор WebSockets-а такође оставља на снази проксијева ограничења одредишта и приступа.

Забележите изабрани транспорт, одредиште и прву неуспешну фазу. SDK клијент, прокси имплементација и дозвољена рута морају се слагати; ни успешан захтев прегледача ни општа тврдња да SOCKS преноси сваки протокол не пружају ту компатибилност.

Повезани чланци