Azure IoT Hub .NET: configurar el proxy HTTP de RegistryManager
Cree un RegistryManager de Azure IoT Hub con HttpTransportSettings.Proxy del SDK de servicio en lugar de depender de un transporte de dispositivo no relacionado.
Microsoft.Azure.Devices 1.38.1 expone un proxy HTTP mediante su HttpTransportSettings del lado del servicio. Proporciónelo al crear 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);
Use esta instancia de registry para las operaciones previstas y consérvela durante toda la vida de la carga de trabajo. Conserve la cadena de conexión real de IoT Hub: la dirección del proxy pertenece a la configuración de transporte. La lista de proxies HTTP ofrece candidatos para una ruta HTTP pública que use este RegistryManager.
Si el proxy requiere inicio de sesión, establezca proxy.Credentials antes de construir el cliente. La cadena de conexión de IoT Hub autentica la solicitud de servicio y no proporciona esa cuenta intermediaria.
Este HttpTransportSettings pertenece al paquete de servicio Microsoft.Azure.Devices. Las conexiones MQTT y AMQP del cliente de dispositivo usan otras opciones, así que una operación de registry correcta solo demuestra que funcionó la ruta HTTP del servicio.