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 ଆପ୍ଲିକେସନର ବିଦ୍ୟମାନ କନଫିଗରେସନରୁ ଆସେ।

ଫ୍ୟାକ୍ଟ୍ରି ମଧ୍ୟସ୍ଥ ମାଧ୍ୟମରେ BigQuery API ପର୍ଯ୍ୟନ୍ତ ପହଞ୍ଚୁଥିବା HTTP ଟ୍ରାନ୍ସପୋର୍ଟ ସୃଷ୍ଟି କରେ। API ଏଣ୍ଡପଏଣ୍ଟ ଗନ୍ତବ୍ୟ ହୋଇ ରହେ; ଏହାକୁ ପ୍ରକ୍ସି ଠିକଣାରେ ବଦଳାଇବା ଅନ୍ୟ ସେବା ମାଗିବା ସହ ସମାନ। BigQuery ପାଇଁ ଅନୁମତିପ୍ରାପ୍ତ ସାର୍ବଜନୀନ ପ୍ରକ୍ସି ମାର୍ଗ ପାଇଁ HTTP ପ୍ରକ୍ସି ତାଲିକା InetSocketAddress କ୍ଷେତ୍ର ପାଇଁ ପ୍ରାର୍ଥୀ ଯୋଗାଏ।

କ୍ରେଡେନ୍ସିଆଲ ପ୍ରାପ୍ତି କିମ୍ବା ନବୀକରଣର ନିଜସ୍ୱ HTTP ଟ୍ରାନ୍ସପୋର୍ଟ ଥାଇପାରେ, ତେଣୁ ଏହାର ଅନୁରୋଧକୁ ପ୍ରକ୍ସି ଆବଶ୍ୟକ ହେଲେ ସେହି ସମର୍ଥିତ ଇନପୁଟ କନଫିଗର କରନ୍ତୁ। ଏହି REST ବିକଳ୍ପଗୁଡ଼ିକ ସ୍ୱାଧୀନ gRPC ଚ୍ୟାନେଲ ମଧ୍ୟ କନଫିଗର କରେ ନାହିଁ।

ସିଷ୍ଟମ ଅନୁସନ୍ଧାନ ପାଇଁ java.net.useSystemProxies ର ଆଚରଣ ପ୍ଲାଟଫର୍ମ-ନିର୍ଦ୍ଦିଷ୍ଟ ଏବଂ Docker HTTP_PROXY ମୂଲ୍ୟ ଏହି କ୍ଲାଏଣ୍ଟର ମାର୍ଗ ହେବ ବୋଲି ନିଶ୍ଚିତ କରେ ନାହିଁ। ଉପରୋକ୍ତ ସ୍ପଷ୍ଟ ଫ୍ୟାକ୍ଟ୍ରି ଚୟନିତ REST ଟ୍ରାନ୍ସପୋର୍ଟକୁ ନିର୍ମାଣ ସମୟରେ ହିଁ ଦୃଶ୍ୟମାନ କରେ।

ସମ୍ପର୍କିତ ପ୍ରବନ୍ଧ