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 接続は別の設定を使うため、registry 操作の成功は HTTP サービス ルートが機能したことだけを示します。