Проверьте, получает ли построитель 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.

Здесь используется проверка подлинности строкой подключения. Конфигурация с учётными данными удостоверения может иметь отдельный клиент HTTP для получения токена, маршрут которого также нужно настроить.

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