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 токен да ја затрeбаат.

Два влеза ја користат фабриката: 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 канал.

Поврзани статии