Priključite fabriku proxy transporta na BigQuery Java REST klijent
Koristite HttpTransportOptions na postojećoj konfiguraciji projekta i akreditiva, uz odvojeno podešavanje transporta ako sam akreditiv upućuje zahtjeve za tokenima.
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();Koristite ovu bigQuery instancu za REST operacije. projectId i credentials dolaze iz postojeće konfiguracije aplikacije.
Fabrika stvara HTTP transport koji kroz posrednika stiže do BigQuery API-ja. API krajnja tačka ostaje odredište; zamjena adresom proxyja traži drugu uslugu. Za dozvoljenu rutu preko javnog proxyja do BigQueryja lista HTTP proxyja daje kandidate za polja InetSocketAddress.
Dobavljanje ili osvježavanje akreditiva može imati vlastiti HTTP transport, pa podesite taj podržani unos kada njegovi zahtjevi trebaju proxy. Ove REST opcije također ne podešavaju nezavisni gRPC kanal.
Za otkrivanje sistema java.net.useSystemProxies ima ponašanje specifično za platformu i ne garantuje da će vrijednost Docker HTTP_PROXY postati ruta ovog klijenta. Eksplicitna fabrika iznad čini odabrani REST transport vidljivim pri izgradnji.