Google Cloud Storage Java: het HTTP-proxytransport configureren
Kies StorageOptions.http en geef de transportfactory zowel aan de HTTP-serviceopties als aan 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();De gebruikelijke Application Default Credentials-instelling van de applicatie blijft staan. Waar een openbare proxy is toegestaan voor de Storage- en token-eindpunten, biedt de HTTP-proxylijst kandidaten voor de host en poort van InetSocketAddress. Geef de factory mee tijdens het laden van die inloggegevens, voordat hun HTTP-tokenverzoeken die nodig hebben.
Twee invoerwaarden gebruiken de factory: getApplicationDefault(factory) dekt het HTTP-werk van de inloggegevensimplementatie; HttpTransportOptions dekt de HTTP-service van Storage. Geen van beide toewijzingen configureert automatisch de andere.
StorageOptions.http is beschikbaar sinds Java Storage 2.14.0. Houd de bibliotheektypen uit elkaar: HttpTransportOptions hoort bij Google Cloud Core en NetHttpTransport bij de HTTP-clientbibliotheek van Google.
Een gRPC-specifieke Storage-client heeft een ander transport. Kies de HTTP-builder voor deze factory-aanpassing in plaats van alleen-HTTP-opties aan een gRPC-kanaal te koppelen.