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 டிரான்ஸ்போர்ட்டை உருவாக்கத்திலேயே தெரியும்படி செய்கிறது.

தொடர்புடைய கட்டுரைகள்