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 ٹرانسپورٹ کو تعمیر کے وقت ہی مرئی بناتی ہے۔

متعلقہ مضامین