Qabbad fabbrika tat-trasport tal-proxy mal-klijent REST ta' BigQuery Java
Uża HttpTransportOptions fuq il-konfigurazzjoni eżistenti tal-proġett u tal-kredenzjali, b'konfigurazzjoni tat-trasport separata jekk il-kredenzjali stess jagħmlu talbiet għal token.
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();Uża din l-istanza bigQuery għall-operazzjonijiet REST. projectId u credentials ġejjin mill-konfigurazzjoni eżistenti tal-applikazzjoni.
Il-fabbrika toħloq it-trasport HTTP li jasal għall-API ta' BigQuery permezz tal-intermedjarju. Il-punt tat-tmiem tal-API jibqa' d-destinazzjoni; jekk tibdlu bl-indirizz tal-proxy qed titlob servizz differenti. Għal rotta tal-proxy pubbliku permessa lejn BigQuery, il-lista tal-proxy HTTP tipprovdi kandidati għall-oqsma InetSocketAddress.
L-akkwist jew it-tiġdid tal-kredenzjali jista' jkollu t-trasport HTTP tiegħu, għalhekk ikkonfigura dak l-input appoġġjat meta t-talbiet tiegħu jkunu jeħtieġu l-proxy. Dawn l-għażliet REST lanqas ma jikkonfiguraw kanal gRPC indipendenti.
Għall-iskoperta tas-sistema, java.net.useSystemProxies għandu mġiba speċifika għall-pjattaforma u ma jiggarantixxix li valur Docker HTTP_PROXY isir ir-rotta ta' dan il-klijent. Il-fabbrika espliċita hawn fuq tagħmel it-trasport REST magħżul viżibbli diġà waqt il-bini.