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 пакрывае службу Storage HTTP. Ні адно з прызначэнняў не наладжвае іншае аўтаматычна.
StorageOptions.http даступны з Java Storage 2.14.0. Трымайце тыпы бібліятэк дакладна: HttpTransportOptions належыць Google Cloud Core, а NetHttpTransport — кліенцкай бібліятэцы HTTP ад Google.
Кліент Storage, спецыфічны для gRPC, мае іншы транспарт. Для гэтай наладкі фабрыкі выбірайце HTTP-будаўнік, а не далучайце опцыі толькі для HTTP да канала gRPC.