Azure IoT Hub .NET:设置 RegistryManager 的 HTTP 代理
使用服务 SDK 的 HttpTransportSettings.Proxy 构造 Azure IoT Hub RegistryManager,而不是依赖无关的设备传输。
Microsoft.Azure.Devices 1.38.1 通过其服务端 HttpTransportSettings 提供 HTTP 代理。创建 RegistryManager 时传入它:
var proxy = new System.Net.WebProxy("http://proxy.example:8080");
var settings = new Microsoft.Azure.Devices.HttpTransportSettings
{
Proxy = proxy
};
var registry = Microsoft.Azure.Devices.RegistryManager
.CreateFromConnectionString(iotHubConnectionString, settings);
用这个 registry 实例执行目标操作,并在工作负载的整个生命周期内保留它。保留真实的 IoT Hub 连接字符串:代理地址属于传输设置。HTTP 代理列表 为此 RegistryManager 使用的公共 HTTP 路由提供候选。
如果代理需要登录,请在构造客户端前设置 proxy.Credentials。IoT Hub 连接字符串用于验证服务请求,并不提供该中间账户。
这个 HttpTransportSettings 属于服务包 Microsoft.Azure.Devices。设备客户端的 MQTT 和 AMQP 连接使用其他设置,因此注册表操作成功只说明 HTTP 服务路由可用。