პროქსი ტრანსპორტის ფაბრიკის მიბმა 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();გამოიყენეთ ეს bigQuery REST ოპერაციებისთვის. projectId და credentials მოდის აპლიკაციის არსებული კონფიგურაციიდან.
ფაბრიკა ქმნის HTTP ტრანსპორტს, რომელიც შუამავლის გავლით აღწევს BigQuery API-ს. API-ის ბოლო წერტილი რჩება დანიშნულებად; მისი პროქსის მისამართით ჩანაცვლება სხვა სერვისს ითხოვს. BigQuery-მდე დაშვებული საჯარო პროქსის მარშრუტისთვის HTTP პროქსების სია გვთავაზობს კანდიდატებს InetSocketAddress ველებისთვის.
სერტიფიკატების მიღებას ან განახლებას შეიძლება ჰქონდეს საკუთარი HTTP ტრანსპორტი, ამიტომ დააკონფიგურირეთ ეს მხარდაჭერილი შეყვანა, როცა მის მოთხოვნებს პროქსი სჭირდება. ეს REST პარამეტრები ასევე არ აკონფიგურირებს დამოუკიდებელ gRPC არხს.
სისტემის აღმოჩენისთვის java.net.useSystemProxies-ს აქვს პლატფორმაზე დამოკიდებული ქცევა და არ იძლევა გარანტიას, რომ Docker-ის HTTP_PROXY მნიშვნელობა გახდება ამ კლიენტის მარშრუტი. ზემოთ მოცემული მკაფიო ფაბრიკა არჩეულ REST ტრანსპორტს ხილვადს ხდის უკვე აგებისას.