Liitä välityspalvelimen kuljetustehdas BigQuery Javan REST-asiakkaaseen
Käytä HttpTransportOptionsia olemassa olevassa projekti- ja tunnistetietokokoonpanossa, erillisellä kuljetusasetuksella jos tunnistetiedot itse tekevät token-pyyntöjä.
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();Käytä tätä bigQuery-ilmentymää REST-toiminnoissa. projectId ja credentials tulevat sovelluksen olemassa olevasta kokoonpanosta.
Tehdas luo HTTP-kuljetuksen, joka saavuttaa BigQuery API:n välittäjän kautta. API:n päätepiste pysyy kohteena; sen korvaaminen välityspalvelimen osoitteella pyytää eri palvelua. Sallittua julkisen välityspalvelimen reittiä varten BigQueryyn HTTP-välityspalvelinluettelo tarjoaa ehdokkaita InetSocketAddress-kentille.
Tunnistetietojen hankinnalla tai uusimisella voi olla oma HTTP-kuljetus, joten määritä tämä tuettu syöte, kun sen pyynnöt tarvitsevat välityspalvelinta. Nämä REST-asetukset eivät myöskään määritä erillistä gRPC-kanavaa.
Järjestelmän löytämiseksi java.net.useSystemProxies:llä on alustakohtainen toiminta eikä se takaa, että Dockerin HTTP_PROXY-arvo tulisi tämän asiakkaan reitiksi. Yllä oleva eksplisiittinen tehdas tekee valitun REST-kuljetuksen näkyväksi jo rakennusvaiheessa.