Eng Proxy-Transport-Fabrik un de REST-Client vu BigQuery Java ukoppelen
Benotzt HttpTransportOptions op der bestoender Projekt- an Zertifikatskonfiguratioun, mat enger separater Transportkonfiguratioun, wann d'Zertifikat selwer Token-Ufroe mécht.
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();Benotzt dës bigQuery-Instanz fir d'REST-Operatiounen. projectId an credentials kommen aus der bestoender Konfiguratioun vun der Applikatioun.
D'Fabrik erstellt den HTTP-Transport, deen iwwer den Zwëschemiwwel op d'BigQuery-API kënnt. Den API-Endpunkt bleift den Zil; en duerch d'Proxy-Adress ze ersetzen freet eng aner Servicer un. Fir eng erlaabte ëffentlech Proxy-Route op BigQuery liwwert d'HTTP-Proxy-Lëscht Kandidaten fir d'InetSocketAddress-Felder.
D'Kréien oder Erneieren vun Zertifikater kann säin eegenen HTTP-Transport hunn, also konfiguréiert deen ënnerstëtzten Input, wann seng Ufroe de Proxy brauchen. Dës REST-Optiounen konfiguréieren och keen onofhängege gRPC-Kanal.
Fir d'Systementdeckung huet java.net.useSystemProxies plattformspezifescht Verhalen an garantéiert net, datt en Docker HTTP_PROXY-Wäert de Wee vun dësem Client gëtt. Déi explizit Fabrik uewen mécht den ausgewielten REST-Transport scho beim Bau sichtbar.