ເຊື່ອມຕໍ່ໂຮງງານຂົນສົ່ງພຣັອກຊີເຂົ້າກັບ REST client ຂອງ BigQuery Java
ໃຊ້ HttpTransportOptions ເທິງການຕັ້ງຄ່າໂຄງການ ແລະ ໃບຢັ້ງຢືນທີ່ມີຢູ່ແລ້ວ, ພ້ອມການຕັ້ງຄ່າການຂົນສົ່ງແຍກຕ່າງຫາກ ຖ້າໃບຢັ້ງຢືນເອງສົ່ງຄຳຮ້ອງ token.
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 ທີ່ໄປຮອດ API BigQuery ຜ່ານຕົວກາງ. ຈຸດປາຍທາງ API ຍັງເປັນປາຍທາງຄືເກົ່າ; ການປ່ຽນເປັນທີ່ຢູ່ພຣັອກຊີແມ່ນການຮ້ອງຂໍບໍລິການອື່ນ. ສຳລັບເສັ້ນທາງພຣັອກຊີສາທາລະນະທີ່ອະນຸຍາດໄປ BigQuery, ລາຍຊື່ພຣັອກຊີ HTTP ສະໜອງຜູ້ສະໝັກສຳລັບຊ່ອງ InetSocketAddress.
ການໄດ້ມາ ຫຼື ການຕໍ່ອາຍຸໃບຢັ້ງຢືນອາດມີການຂົນສົ່ງ HTTP ຂອງຕົນເອງ, ດັ່ງນັ້ນຈົ່ງຕັ້ງຄ່າອິນພຸດທີ່ຮອງຮັບນັ້ນ ເມື່ອຄຳຮ້ອງຂອງມັນຕ້ອງການພຣັອກຊີ. ຕົວເລືອກ REST ເຫຼົ່ານີ້ກໍບໍ່ໄດ້ຕັ້ງຄ່າຊ່ອງ gRPC ແຍກຕ່າງຫາກ.
ສຳລັບການຄົ້ນຫາລະບົບ, java.net.useSystemProxies ມີພຶດຕິກຳສະເພາະແພລດຟອມ ແລະ ບໍ່ຮັບປະກັນວ່າຄ່າ Docker HTTP_PROXY ຈະກາຍເປັນເສັ້ນທາງຂອງ client ນີ້. ໂຮງງານທີ່ຊັດເຈນຂ້າງເທິງເຮັດໃຫ້ການຂົນສົ່ງ REST ທີ່ເລືອກເຫັນໄດ້ຕັ້ງແຕ່ຕອນສ້າງ.