Azure IoT Hub .NET: configurar o proxy HTTP do RegistryManager
Crie um RegistryManager do Azure IoT Hub com HttpTransportSettings.Proxy do SDK do serviço em vez de depender de um transporte de dispositivo não relacionado.
Microsoft.Azure.Devices 1.38.1 expõe um proxy HTTP por meio de seu HttpTransportSettings do lado do serviço. Forneça-o ao criar o 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 instância de registry para as operações pretendidas e mantenha-a durante toda a vida útil da carga de trabalho. Mantenha a cadeia de conexão real do IoT Hub: o endereço do proxy pertence às configurações de transporte. A lista de proxies HTTP oferece candidatos para uma rota HTTP pública usada por este RegistryManager.
Se o proxy exigir login, defina proxy.Credentials antes de construir o cliente. A cadeia de conexão do IoT Hub autentica a solicitação de serviço e não fornece essa conta intermediária.
Este HttpTransportSettings pertence ao pacote de serviço Microsoft.Azure.Devices. As conexões MQTT e AMQP do cliente de dispositivo usam outras configurações, portanto uma operação de registry bem-sucedida apenas prova que a rota de serviço HTTP funcionou.