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 тасымалын құру кезінде-ақ көрінетін етеді.