Google Cloud Storage Java: configurar o transporte HTTP mediante proxy
Seleccione StorageOptions.http e entregue a fábrica de transporte tanto ás opcións do servizo HTTP como a Application Default Credentials.
var proxy = new java.net.Proxy(
java.net.Proxy.Type.HTTP,
new java.net.InetSocketAddress("proxy.example.net", 8080));
com.google.auth.http.HttpTransportFactory factory = () ->
new com.google.api.client.http.javanet.NetHttpTransport.Builder()
.setProxy(proxy)
.build();
var credentials =
com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(factory);
var transportOptions =
com.google.cloud.http.HttpTransportOptions.newBuilder()
.setHttpTransportFactory(factory)
.build();
var storage = com.google.cloud.storage.StorageOptions.http()
.setCredentials(credentials)
.setTransportOptions(transportOptions)
.build()
.getService();A configuración habitual de Application Default Credentials da aplicación mantense. Onde se permite un proxy público para os extremos de Storage e de tokens, a lista de proxies HTTP ofrece candidatos para o host e o porto de InetSocketAddress. Proporcione a fábrica mentres se cargan esas credenciais, antes de que as súas solicitudes de token HTTP a necesiten.
Dúas entradas usan a fábrica: getApplicationDefault(factory) cobre o traballo HTTP da implementación de credenciais; HttpTransportOptions cobre o servizo HTTP de Storage. Ningunha das dúas asignacións configura automaticamente a outra.
StorageOptions.http está dispoñible desde Java Storage 2.14.0. Mantén claros os tipos das bibliotecas: HttpTransportOptions pertence a Google Cloud Core e NetHttpTransport á biblioteca cliente HTTP de Google.
Un cliente de Storage específico de gRPC ten outro transporte. Escolla o construtor HTTP para esta personalización da fábrica en lugar de anexar opcións só de HTTP a unha canle gRPC.