Lidhni një fabrikë transporti proxy me klientin REST të BigQuery Java
Përdorni HttpTransportOptions në konfigurimin ekzistues të projektit dhe kredencialeve, me një konfigurim të veçantë transporti nëse vetë kredencialet bëjnë kërkesa 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();Përdorni këtë instancë bigQuery për operacionet REST. projectId dhe credentials vijnë nga konfigurimi ekzistues i aplikacionit.
Fabrika krijon transportin HTTP që arrin API-n e BigQuery përmes ndërmjetësit. Pika fundore e API-s mbetet destinacioni; zëvendësimi i saj me adresën e proxy-t kërkon një shërbim tjetër. Për një rrugë të lejuar të proxy-t publik drejt BigQuery, lista e proxy-ve HTTP ofron kandidatë për fushat InetSocketAddress.
Marrja ose rifreskimi i kredencialeve mund të ketë transportin e vet HTTP, prandaj konfiguroni atë hyrje të mbështetur kur kërkesat e saj kanë nevojë për proxy. Këto opsione REST gjithashtu nuk konfigurojnë një kanal gRPC të pavarur.
Për zbulimin e sistemit, java.net.useSystemProxies ka sjellje specifike për platformën dhe nuk garanton që një vlerë Docker HTTP_PROXY të bëhet rruga e këtij klienti. Fabrika eksplicite më sipër e bën transportin REST të zgjedhur të dukshëm që në ndërtim.