Падключыце фабрыку транспарту проксі да REST-кліента BigQuery Java
Выкарыстоўвайце HttpTransportOptions у існуючай канфігурацыі праекта і ўліковых даных; калі самі ўліковыя даныя робяць запыты токенаў, наладзьце асобны транспарт.
import java.net.InetSocketAddress;
import java.net.Proxy;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.cloud.http.HttpTransportOptions;
import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryOptions;
var proxy = new Proxy(Proxy.Type.HTTP,
new InetSocketAddress("proxy.example", 8080));
var httpOptions = HttpTransportOptions.newBuilder()
.setHttpTransportFactory(() ->
new NetHttpTransport.Builder().setProxy(proxy).build())
.build();
BigQuery bigQuery = BigQueryOptions.newBuilder()
.setProjectId(projectId)
.setCredentials(credentials)
.setTransportOptions(httpOptions)
.build()
.getService();Выкарыстоўвайце гэты асобнік bigQuery для REST-аперацый. projectId і credentials бяруцца з існуючай канфігурацыі праграмы.
Фабрыка стварае HTTP-транспарт, які дасягае API BigQuery праз пасярэдніка. Канечная кропка API застаецца пунктам прызначэння; замена яе адрасам проксі запытвае іншую паслугу. Для дазволенага маршруту праз публічны проксі да BigQuery спіс HTTP-проксі дае кандыдатаў для палёў InetSocketAddress.
Атрыманне або абнаўленне ўліковых даных можа мець уласны HTTP-транспарт, таму наладзьце гэты падтрымліваемы ўвод, калі яго запыты патрабуюць проксі. Гэтыя REST-параметры таксама не наладжваюць асобны канал gRPC.
Для сістэмнага выяўлення java.net.useSystemProxies мае паводзіны, залежныя ад платформы, і не гарантуе, што значэнне Docker HTTP_PROXY стане маршрутам гэтага кліента. Яўная фабрыка вышэй робіць выбраны REST-транспарт бачным пры стварэнні.