BigQuery Java REST mijoziga proxy transport fabrikasini ulash
Mavjud loyiha va hisob maʼlumotlari konfiguratsiyasida HttpTransportOptions dan foydalaning; agar hisob maʼlumotlari oʻzi token soʻrovlarini yuborsa, transportni alohida sozlang.
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();REST operatsiyalari uchun ushbu bigQuery nusxasidan foydalaning. projectId va credentials ilovaning mavjud konfiguratsiyasidan olinadi.
Fabrika vositachi orqali BigQuery API ga yetib boradigan HTTP transportni yaratadi. API oxirgi nuqtasi manzil boʻlib qoladi; uni proxy manzili bilan almashtirish boshqa xizmatni soʻrash demakdir. BigQuery ga ruxsat etilgan ommaviy proxy yoʻli uchun HTTP proxy roʻyxati InetSocketAddress maydonlariga nomzodlar beradi.
Hisob maʼlumotlarini olish yoki yangilash oʻzining HTTP transportiga ega boʻlishi mumkin, shuning uchun uning soʻrovlariga proxy kerak boʻlganda shu qoʻllab-quvvatlanadigan kirishni sozlang. Bu REST parametrlari mustaqil gRPC kanalini ham sozlamaydi.
Tizimni aniqlash uchun java.net.useSystemProxies platformaga xos xatti-harakatga ega va Docker HTTP_PROXY qiymati ushbu mijozning yoʻli boʻlishiga kafolat bermaydi. Yuqoridagi aniq fabrika tanlangan REST transportni qurish paytida koʻrinadigan qiladi.