Unganisha kiwanda cha usafirishaji wa proksi kwenye mteja wa REST wa BigQuery Java
Tumia HttpTransportOptions kwenye usanidi uliopo wa mradi na hati za kuthibitisha, pamoja na usanidi tofauti wa usafirishaji ikiwa hati zenyewe zinafanya maombi ya 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();Tumia kipengele hiki cha bigQuery kwa shughuli za REST. projectId na credentials vinatoka kwenye usanidi uliopo wa programu.
Kiwanda huunda usafirishaji wa HTTP unaofikia API ya BigQuery kupitia mpatanishi. Mwisho wa API unabaki kuwa lengo; kuubadilisha na anwani ya proksi ni kuomba huduma nyingine. Kwa njia inayoruhusiwa ya proksi ya umma kuelekea BigQuery, orodha ya proksi za HTTP hutoa wagombea kwa sehemu za InetSocketAddress.
Upataji au uboreshaji wa hati za kuthibitisha unaweza kuwa na usafirishaji wake wa HTTP, kwa hivyo sanidi ingizo hilo linalotumika wakati maombi yake yanahitaji proksi. Chaguo hizi za REST pia hazisanidi chaneli huru ya gRPC.
Kwa ugunduzi wa mfumo, java.net.useSystemProxies ina tabia maalum kwa jukwaa na haihakikishi kwamba thamani ya Docker HTTP_PROXY itakuwa njia ya mteja huyu. Kiwanda kilicho wazi hapo juu hufanya usafirishaji wa REST uliochaguliwa uonekane wakati wa ujenzi.