Google Cloud Storage Java: HTTP-Proxy-Transport konfigurieren
Wählen Sie StorageOptions.http und übergeben Sie die Transport-Factory sowohl an die HTTP-Dienstoptionen als auch an 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();Die übliche Einrichtung der Application Default Credentials der Anwendung bleibt bestehen. Wo ein öffentlicher Proxy für die Storage- und Token-Endpunkte zulässig ist, bietet die HTTP-Proxy-Liste Kandidaten für Host und Port der InetSocketAddress. Stellen Sie die Factory beim Laden dieser Anmeldedaten bereit, bevor deren HTTP-Tokenanfragen sie benötigen.
Zwei Eingaben nutzen die Factory: getApplicationDefault(factory) deckt die HTTP-Arbeit der Anmeldedaten-Implementierung ab; HttpTransportOptions deckt den HTTP-Dienst von Storage ab. Keine der beiden Zuweisungen konfiguriert die andere automatisch.
StorageOptions.http ist seit Java Storage 2.14.0 verfügbar. Halten Sie die Bibliothekstypen auseinander: HttpTransportOptions gehört zu Google Cloud Core und NetHttpTransport zur HTTP-Clientbibliothek von Google.
Ein gRPC-spezifischer Storage-Client hat einen anderen Transport. Wählen Sie für diese Factory-Anpassung den HTTP-Builder, statt reine HTTP-Optionen an einen gRPC-Kanal zu hängen.