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 ಸಾರಿಗೆಯನ್ನು ನಿರ್ಮಾಣದಲ್ಲೇ ಗೋಚರವಾಗಿಸುತ್ತದೆ.