Dalam aplikasi yang sudah memakai Azure IoT Python SDK, pilih transport MQTT dan opsi proxinya secara bersamaan. Konfigurasi ini memilih MQTT melalui 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
)

Kelas-kelas tersebut berasal dari antarmuka SDK yang terdokumentasi. Berikan string koneksi perangkat melalui konfigurasi rahasia aplikasi dan ganti endpoint proxy pada contoh. Untuk endpoint IoT Hub yang dapat dijangkau publik dan mengizinkan perantara publik, daftar proxy HTTP menawarkan kandidat untuk host dan port HTTP; pastikan layanan mengizinkan rute ke tujuan. Ini adalah opsi SDK yang eksplisit; proxy yang berfungsi di peramban atau pengaturan umum sistem operasi tidak membentuk rute klien perangkat.

Periksa referensi ProxyOptions untuk jenis proxy yang dipilih. Referensi itu membedakan kolom HTTP, SOCKS4, dan SOCKS5 serta mendokumentasikan perilaku nama pengguna/kata sandi khusus jenis, termasuk batasan untuk HTTP. Keberadaan suatu kolom tidak menjanjikan setiap mekanisme autentikasi.

Akun proxy dan identitas perangkat mengotorisasi tahap yang berbeda. Pertukaran perantara yang ditolak dapat menghentikan koneksi sebelum broker mengevaluasi kredensial perangkat. Memilih WebSockets juga membuat pembatasan tujuan dan akses proxy tetap berlaku.

Catat transport yang dipilih, tujuan, dan tahap pertama yang gagal. Klien SDK, implementasi proxy, dan rute yang diizinkan harus sesuai; baik permintaan peramban yang berhasil maupun klaim umum bahwa SOCKS membawa semua protokol tidak menyediakan kompatibilitas itu.

Artikel terkait