In proxy-transportfabryk oan 'e REST-klient fan BigQuery Java ferbine
Brûk HttpTransportOptions op 'e besteande projekt- en bebeferingskonfiguraasje, mei aparte transportynstelling as de bebefering sels tokenoanfragen docht.
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();Brûk dit bigQuery-eksimplaar foar de REST-bewurkingen. projectId en credentials komme fan 'e besteande konfiguraasje fan 'e applikaasje.
De fabryk makket it HTTP-transport dat fia de tuskenpersoan by de BigQuery-API komt. It API-einpunt bliuwt de bestimming; it ferfangen troch it proxy-adres freget om in oare tsjinst. Foar in tastiene iepenbiere proxy-rûte nei BigQuery leveret de HTTP-proxylist kandidaten foar de InetSocketAddress-fjilden.
It krijen of fernijen fan bebefering kin syn eigen HTTP-transport hawwe, dus konfigurearje dy stipe ynfier as syn oanfragen de proxy nedich hawwe. Dizze REST-opsjes konfigurearje ek gjin ûnôfhinklik gRPC-kanaal.
Foar systeemûntdekking hat java.net.useSystemProxies platfoarmôfhinklik gedrach en garandearret net dat in Docker HTTP_PROXY-wearde de rûte fan dizze klient wurdt. De eksplisite fabryk hjirboppe makket it keazen REST-transport by it bouwen al sichtber.