Azure IoT Python: MQTT'yi bir proxy üzerinden WebSockets ile yapılandırma
Azure IoT Python istemcisinin desteklediği proxy seçeneklerini yapılandırın ve MQTT'yi WebSockets üzerinden bilinçli olarak seçin.
Azure IoT Python SDK'sını zaten kullanan bir uygulamada MQTT taşımasını ve proxy seçeneklerini birlikte seçin. Bu yapılandırma MQTT'yi WebSockets üzerinden seçer:
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
)
Sınıflar SDK'nın belgelenmiş arayüzünden gelir. Cihazın bağlantı dizesini uygulamanın gizli yapılandırması üzerinden sağlayın ve örnek proxy uç noktasını değiştirin. Genel erişime açık bir IoT Hub uç noktası için, genel aracıların izin verildiği durumda, HTTP proxy listesi HTTP ana bilgisayarı ve bağlantı noktası için adaylar sunar; hizmetin hedef rotaya izin verdiğini doğrulayın. Bunlar SDK'nın açık seçenekleridir; tarayıcıda çalışan bir proxy veya işletim sisteminin genel ayarı cihaz istemcisinin rotasını oluşturmaz.
Seçilen proxy türü için ProxyOptions başvurusuna bakın. HTTP, SOCKS4 ve SOCKS5 alanlarını ayırt eder ve HTTP'ye ilişkin sınırlamalar dahil olmak üzere türe özgü kullanıcı adı/parola davranışını belgeler. Bir alanın varlığı her kimlik doğrulama mekanizmasını garanti etmez.
Proxy hesabı ve cihaz kimliği farklı aşamaları yetkilendirir. Reddedilen bir aracı alışverişi, aracı cihaz kimlik bilgisini değerlendirmeden önce bağlantıyı durdurabilir. WebSockets seçimi ayrıca proxy'nin hedef ve erişim kısıtlamalarını yürürlükte bırakır.
Seçilen taşımayı, hedefi ve ilk başarısız aşamayı kaydedin. SDK istemcisi, proxy uygulaması ve izin verilen rota birbiriyle uyuşmalıdır; ne başarılı bir tarayıcı isteği ne de SOCKS'un her protokolü taşıdığına dair genel iddia bu uyumluluğu sağlar.