Microsoft.Azure.Devices 1.38.1 предоставляет HTTP-прокси через свой HttpTransportSettings на стороне службы. Укажите его при создании 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-прокси предлагает кандидатов для публичного HTTP-маршрута, который использует этот RegistryManager.

Если прокси требует входа, задайте proxy.Credentials до создания клиента. Строка подключения IoT Hub проверяет подлинность запроса службы и не предоставляет эту промежуточную учётную запись.

Этот HttpTransportSettings принадлежит пакету службы Microsoft.Azure.Devices. MQTT- и AMQP-подключения клиента устройства используют другие параметры, поэтому успешная операция registry доказывает только то, что HTTP-маршрут службы работал.

Похожие статьи