Azure IoT Python: cấu hình MQTT qua WebSockets qua proxy
Cấu hình các tùy chọn proxy mà ứng dụng khách Azure IoT Python hỗ trợ và chọn MQTT qua WebSockets một cách có chủ đích.
Trong ứng dụng đã dùng Azure IoT Python SDK, hãy chọn phương thức vận chuyển MQTT và các tùy chọn proxy của nó cùng nhau. Cấu hình này chọn MQTT qua 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
)
Các lớp này đến từ giao diện được tài liệu hóa của SDK. Cung cấp chuỗi kết nối của thiết bị thông qua cấu hình bí mật của ứng dụng và thay thế điểm cuối proxy mẫu. Đối với điểm cuối IoT Hub có thể truy cập công khai nơi cho phép các trung gian công cộng, danh sách proxy HTTP cung cấp các ứng viên cho máy chủ và cổng HTTP; xác nhận rằng dịch vụ cho phép tuyến đến đích. Đây là những tùy chọn rõ ràng của SDK; một proxy hoạt động trong trình duyệt hay một thiết lập chung của hệ điều hành không thiết lập tuyến của ứng dụng khách thiết bị.
Xem tài liệu tham chiếu ProxyOptions cho loại proxy đã chọn. Tài liệu này phân biệt các trường HTTP, SOCKS4 và SOCKS5 và ghi lại hành vi tên người dùng/mật khẩu riêng theo loại, bao gồm các hạn chế đối với HTTP. Sự hiện diện của một trường không bảo đảm mọi cơ chế xác thực.
Tài khoản proxy và danh tính thiết bị cấp quyền cho các giai đoạn khác nhau. Một trao đổi trung gian bị từ chối có thể dừng kết nối trước khi broker đánh giá thông tin xác thực của thiết bị. Việc chọn WebSockets cũng để các hạn chế về đích và truy cập của proxy tiếp tục có hiệu lực.
Ghi lại phương thức vận chuyển đã chọn, đích và giai đoạn thất bại đầu tiên. Ứng dụng khách SDK, cách triển khai proxy và tuyến được phép phải khớp nhau; cả một yêu cầu trình duyệt thành công lẫn khẳng định chung rằng SOCKS mang mọi giao thức đều không mang lại sự tương thích đó.