So proxy transport factory pọ̀ mọ́ REST client ti BigQuery Java
Lo HttpTransportOptions lórí ìṣètò iṣẹ́ àti ẹ̀rí tí ó wà tẹ́lẹ̀, pẹ̀lú ìṣètò transport ọ̀tọ̀ bí ẹ̀rí náà fúnra rẹ̀ bá ṣe àwọn ìbéèrè 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();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ọ́.