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 ټرانسپورټ د جوړیدو پر مهال لیدل کیدونکی کوي.

اړوندې مقالې