Google Cloud Storage Java: konfigurera HTTP-proxytransporten
Välj StorageOptions.http och ge transportfabriken till både HTTP-tjänstens alternativ och 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();Programmets vanliga Application Default Credentials-konfiguration ligger kvar. Där en offentlig proxy tillåts för Storage- och token-slutpunkterna erbjuder HTTP-proxylistan kandidater för InetSocketAddress värd och port. Ange fabriken när dessa autentiseringsuppgifter läses in, innan deras HTTP-tokenförfrågningar behöver den.
Två indata använder fabriken: getApplicationDefault(factory) täcker autentiseringsimplementeringens HTTP-arbete; HttpTransportOptions täcker Storages HTTP-tjänst. Ingendera tilldelningen konfigurerar automatiskt den andra.
StorageOptions.http har funnits sedan Java Storage 2.14.0. Håll isär bibliotekstyperna: HttpTransportOptions hör till Google Cloud Core och NetHttpTransport till Googles HTTP-klientbibliotek.
En gRPC-specifik Storage-klient har en annan transport. Välj HTTP-byggaren för denna fabriksanpassning i stället för att koppla enbart HTTP-alternativ till en gRPC-kanal.