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

Lo bigQuery yìí fún àwọn iṣẹ́ REST. projectId àti credentials wá láti inú ìṣètò tí ó wà tẹ́lẹ̀ ti ètò náà.

Factory náà ṣẹ̀dá transport HTTP tí ó dé API BigQuery nípasẹ̀ alárinà. Ipò ìparí API náà ṣì jẹ́ ibi tí a ń lọ; pípààrọ̀ rẹ̀ pẹ̀lú àdírẹ́sì proxy túmọ̀ sí béèrè iṣẹ́ mìíràn. Fún ọ̀nà proxy gbogbo ènìyàn tí a gbà láàyè sí BigQuery, àkójọ proxy HTTP ń pèsè àwọn olùdíje fún àwọn pápá InetSocketAddress.

Gbígba tàbí ìsọdọ̀tun ẹ̀rí lè ní transport HTTP tirẹ̀, nítorí náà ṣètò ìwọlé tí a ṣe àtìlẹ́yìn fún nígbà tí àwọn ìbéèrè rẹ̀ bá nílò proxy. Àwọn àṣàyàn REST wọ̀nyí kò tún ṣètò ikanni gRPC olómìnira.

Fún wíwá systémù, java.net.useSystemProxies ní ìhùwàsí tí ó yàtọ̀ fún pẹpẹ, kò sì ṣe ìdánilójú pé iye Docker HTTP_PROXY yóò di ọ̀nà client yìí. Factory tí ó ṣe kedere lókè ń jẹ́ kí transport REST tí a yàn hàn ní àkókò ìkọ́.

Àwọn àpilẹ̀kọ tó jọra