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 тээврийг бүтээх үед харагдуулна.