د BigQuery Java د REST کلاینټ سره د پروکسي ټرانسپورټ فابریکه ونښلوئ
په موجوده پروژه او اعتبارنامې ترتیباتو کې HttpTransportOptions وکاروئ، او که اعتبارنامه پخپله د ټوکن غوښتنې کوي، ټرانسپورټ جلا تنظیم کړئ.
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 عملیاتو لپاره دا bigQuery وکاروئ. projectId او credentials د اپلیکیشن له موجوده ترتیباتو راځي.
فابریکه هغه HTTP ټرانسپورټ جوړوي چې د منځګړي له لارې BigQuery API ته رسیږي. د API پای ټکی منزل پاتې کیږي؛ د پروکسي پتې سره یې بدلول بله خدمت غوښتل دي. BigQuery ته د اجازه ورکړل شوې عامه پروکسي لارې لپاره د HTTP پروکسي لیست د InetSocketAddress ساحو لپاره نوماندان برابروي.
د اعتبارنامې ترلاسه کول یا نوي کول کیدای شي خپل HTTP ټرانسپورټ ولري، نو کله چې د هغې غوښتنو پروکسي ته اړتیا وي هغه ملاتړ شوی انپټ تنظیم کړئ. دا REST انتخابونه جلا gRPC چینل هم نه تنظیموي.
د سیسټم موندنې لپاره java.net.useSystemProxies پلیټفارم ځانګړی چلند لري او تضمین نه کوي چې د Docker HTTP_PROXY ارزښت به د دې کلاینټ لار شي. پورتنی روښانه فابریکه غوره شوی REST ټرانسپورټ د جوړیدو پر مهال لیدل کیدونکی کوي.