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 ট্রান্সপোর্টকে নির্মাণের সময়েই দৃশ্যমান করে।