Proxy-transzportgyár csatlakoztatása a BigQuery Java REST-ügyfeléhez
Használja a HttpTransportOptions beállítást a meglévő projekt- és hitelesítőadat-konfiguráción, külön transzportbeállítással, ha maguk a hitelesítő adatok tokenkéréseket indítanak.
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();Használja ezt a bigQuery példányt a REST-műveletekhez. A projectId és a credentials az alkalmazás meglévő konfigurációjából származik.
A gyár hozza létre azt a HTTP-transzportot, amely a közvetítőn keresztül eléri a BigQuery API-t. Az API végpontja marad a cél; a proxy címére cserélése más szolgáltatást kér. A BigQuery felé engedélyezett nyilvános proxyútvonalhoz a HTTP-proxylista kínál jelölteket az InetSocketAddress mezőkhöz.
A hitelesítő adatok beszerzésének vagy frissítésének saját HTTP-transzportja lehet, ezért állítsa be ezt a támogatott bemenetet, amikor a kéréseinek szüksége van a proxyra. Ezek a REST-beállítások független gRPC-csatornát sem állítanak be.
A rendszerfelderítéshez a java.net.useSystemProxies platformfüggő viselkedéssel rendelkezik, és nem garantálja, hogy egy Docker HTTP_PROXY érték lesz az ügyfél útvonala. A fenti explicit gyár már az építéskor láthatóvá teszi a kiválasztott REST-transzportot.