Google Cloud Storage Java: konfiguracja transportu HTTP przez proxy
Wybierz StorageOptions.http i przekaż fabrykę transportu zarówno opcjom usługi HTTP, jak i 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();Zwykła konfiguracja Application Default Credentials aplikacji pozostaje bez zmian. Tam, gdzie publiczne proxy jest dozwolone dla punktów końcowych Storage i tokenów, lista proxy HTTP oferuje kandydatów dla hosta i portu InetSocketAddress. Dostarcz fabrykę podczas ładowania tych poświadczeń, zanim zażądają jej ich żądania tokenów HTTP.
Fabryki używają dwa wejścia: getApplicationDefault(factory) obejmuje pracę HTTP implementacji poświadczeń; HttpTransportOptions obejmuje usługę HTTP Storage. Żadne z przypisań nie konfiguruje automatycznie drugiego.
StorageOptions.http jest dostępne od Java Storage 2.14.0. Rozróżniaj typy bibliotek: HttpTransportOptions należy do Google Cloud Core, a NetHttpTransport do biblioteki klienta HTTP Google.
Klient Storage specyficzny dla gRPC ma inny transport. Dla tej personalizacji fabryki wybierz konstruktor HTTP, zamiast doczepiać opcje wyłącznie HTTP do kanału gRPC.