Google Cloud Storage Java: налаштування транспорту HTTP через проксі
Виберіть StorageOptions.http і передайте фабрику транспорту як параметрам служби HTTP, так і 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();Звичайне налаштування Application Default Credentials застосунку залишається без змін. Там, де публічний проксі дозволений для кінцевих точок Storage і токенів, список HTTP-проксі пропонує кандидатів для хоста й порту InetSocketAddress. Передайте фабрику під час завантаження цих облікових даних, перш ніж їхні запити токена HTTP її потребують.
Фабрику використовують два входи: getApplicationDefault(factory) охоплює HTTP-роботу реалізації облікових даних; HttpTransportOptions охоплює службу HTTP Storage. Жодне з призначень не налаштовує інше автоматично.
StorageOptions.http доступний від Java Storage 2.14.0. Не плутайте типи бібліотек: HttpTransportOptions належить Google Cloud Core, а NetHttpTransport — клієнтській бібліотеці HTTP від Google.
Клієнт Storage, специфічний для gRPC, має інший транспорт. Для цього налаштування фабрики виберіть конструктор HTTP, а не прикріплюйте параметри лише для HTTP до каналу gRPC.