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 ප්‍රවාහනය ගොඩනැගීමේදීම දෘශ්‍යමාන කරයි.

අදාළ ලිපි