Tables ビルダーが完全な HTTP パイプラインを受け取るか確認します。この入力は独立した httpClient オプションを上書きします。アプリケーションがパイプラインを所有している場合は、そのパイプラインの構築時にプロキシ対応トランスポートを構成します。

直接の Netty HTTP クライアント入力では、トランスポートを構築して Tables に渡します。

ProxyOptions proxy = new ProxyOptions(
    ProxyOptions.Type.HTTP,
    new InetSocketAddress("proxy.example.net", 8080)
);
proxy.setCredentials(proxyUser, proxyPassword);

HttpClient transport = new NettyAsyncHttpClientBuilder()
    .proxy(proxy)
    .build();

TableClient tables = new TableClientBuilder()
    .connectionString(storageConnectionString)
    .tableName("records")
    .httpClient(transport)
    .buildClient();

ここでの HttpClient は com.azure.core.http.HttpClient です。その他の型は Azure Core HTTP/Netty、Azure Data Tables、java.net.InetSocketAddress に由来します。構成と資格情報の変数はアプリケーションが提供します。

ProxyOptions.Type.HTTP は仲介者を選択し、setCredentials はそのアカウントを提供します。認証なしのエンドポイントでは省略できます。この構成では、HTTP プロキシ一覧のエントリが、許可されたパブリック Tables エンドポイント経路のアドレスを提供できます。トランスポートにプロキシ資格情報を残さないでください。ストレージ接続文字列は引き続き Tables サービスを選択します。

これは接続文字列認証を使用します。ID 資格情報の構成では、トークン取得用の別の HTTP クライアントを持つことができ、その経路も構成する必要があります。

関連記事