Pievienojiet starpniekservera transporta fabriku BigQuery Java REST klientam
Izmantojiet HttpTransportOptions esošajā projekta un akreditācijas datu konfigurācijā, ar atsevišķu transporta iestatījumu, ja paši akreditācijas dati veic marķiera pieprasījumus.
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();Izmantojiet šo bigQuery eksemplāru REST darbībām. projectId un credentials nāk no lietojumprogrammas esošās konfigurācijas.
Fabrika izveido HTTP transportu, kas caur starpnieku sasniedz BigQuery API. API galapunkts paliek galamērķis; tā aizstāšana ar starpniekservera adresi pieprasa citu pakalpojumu. Atļautam publiska starpniekservera maršrutam uz BigQuery HTTP starpniekserveru saraksts nodrošina kandidātus InetSocketAddress laukiem.
Akreditācijas datu iegūšanai vai atjaunošanai var būt savs HTTP transports, tāpēc konfigurējiet šo atbalstīto ievadi, kad tās pieprasījumiem nepieciešams starpniekserveris. Šīs REST opcijas arī nekonfigurē neatkarīgu gRPC kanālu.
Sistēmas atklāšanai java.net.useSystemProxies ir platformai raksturīga uzvedība, un tas negarantē, ka Docker HTTP_PROXY vērtība kļūs par šī klienta maršrutu. Iepriekš minētā skaidrā fabrika padara izvēlēto REST transportu redzamu jau veidošanas laikā.