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();

Kasutage seda bigQuery eksemplari REST-toimingute jaoks. projectId ja credentials pärinevad rakenduse olemasolevast konfiguratsioonist.

Tehas loob HTTP-transpordi, mis jõuab BigQuery API-ni vahendaja kaudu. API lõpp-punkt jääb sihtkohaks; selle asendamine proksi aadressiga nõuab teist teenust. Lubatud avaliku proksi marsruudi jaoks BigQuery juurde pakub HTTP-prokside loend kandidaate InetSocketAddress väljadele.

Mandaatide hankimisel või uuendamisel võib olla oma HTTP-transport, seega seadistage see toetatud sisend, kui selle päringud vajavad proksit. Need REST-valikud ei seadista ka sõltumatut gRPC-kanalit.

Süsteemi tuvastamiseks on java.net.useSystemProxies platvormipõhise käitumisega ega taga, et Dockeri HTTP_PROXY väärtusest saab selle kliendi marsruut. Ülalolev selgesõnaline tehas teeb valitud REST-transpordi juba loomise ajal nähtavaks.

Seotud artiklid