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 अनुप्रयोगको अवस्थित कन्फिगरेसनबाट आउँछन्।
फ्याक्ट्रीले मध्यस्थकर्तामार्फत BigQuery API सम्म पुग्ने HTTP ट्रान्सपोर्ट बनाउँछ। API अन्त्यबिन्दु गन्तव्य नै रहन्छ; त्यसलाई प्रोक्सी ठेगानाले बदल्नु भनेको अर्को सेवा माग्नु हो। BigQuery मा अनुमति प्राप्त सार्वजनिक प्रोक्सी मार्गका लागि HTTP प्रोक्सी सूची ले InetSocketAddress फिल्डका लागि उम्मेदवार दिन्छ।
प्रमाणपत्र प्राप्ति वा नवीकरणको आफ्नै HTTP ट्रान्सपोर्ट हुन सक्छ, त्यसैले त्यसका अनुरोधलाई प्रोक्सी चाहिएको बेला त्यो समर्थित इनपुट कन्फिगर गर्नुहोस्। यी REST विकल्पहरूले स्वतन्त्र gRPC च्यानल पनि कन्फिगर गर्दैनन्।
प्रणाली पत्ता लगाउन java.net.useSystemProxies को व्यवहार प्लेटफर्म-विशिष्ट छ र Docker HTTP_PROXY मान यो क्लाइन्टको मार्ग बन्ने ग्यारेन्टी दिँदैन। माथिको स्पष्ट फ्याक्ट्रीले छानिएको REST ट्रान्सपोर्टलाई निर्माणकै क्रममा देखिने बनाउँछ।