ភ្ជាប់រោងចក្រដឹកជញ្ជូនប្រូកស៊ីទៅកាន់អតិថិជន REST របស់ BigQuery Java
ប្រើ 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 ដែលទៅដល់ API BigQuery តាមរយៈអន្តរការី។ ចំណុចបញ្ចប់ API នៅតែជាគោលដៅ។ ការជំនួសវាដោយអាសយដ្ឋានប្រូកស៊ីគឺស្នើសេវាផ្សេង។ សម្រាប់ផ្លូវប្រូកស៊ីសាធារណៈដែលបានអនុញ្ញាតទៅ BigQuery បញ្ជីប្រូកស៊ី HTTP ផ្តល់បេក្ខជនសម្រាប់វាល InetSocketAddress។
ការទទួលបាន ឬធ្វើបច្ចុប្បន្នភាពសម្គាល់អត្តសញ្ញាណអាចមានការដឹកជញ្ជូន HTTP រៀងៗខ្លួន ដូច្នេះកំណត់ធាតុបញ្ចូលដែលគាំទ្រនោះ នៅពេលសំណើរបស់វាត្រូវការប្រូកស៊ី។ ជម្រើស REST ទាំងនេះក៏មិនកំណត់ឆានែល gRPC ឯករាជ្យដែរ។
សម្រាប់ការរកឃើញប្រព័ន្ធ java.net.useSystemProxies មានអាកប្បកិរិយាអាស្រ័យលើវេទិកា ហើយមិនធានាថាតម្លៃ Docker HTTP_PROXY នឹងក្លាយជាផ្លូវរបស់អតិថិជននេះទេ។ រោងចក្រច្បាស់លាស់ខាងលើធ្វើឱ្យការដឹកជញ្ជូន REST ដែលបានជ្រើសឃើញតាំងពីពេលសាងសង់។