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();

Programmets vanliga Application Default Credentials-konfiguration ligger kvar. Där en offentlig proxy tillåts för Storage- och token-slutpunkterna erbjuder HTTP-proxylistan kandidater för InetSocketAddress värd och port. Ange fabriken när dessa autentiseringsuppgifter läses in, innan deras HTTP-tokenförfrågningar behöver den.

Två indata använder fabriken: getApplicationDefault(factory) täcker autentiseringsimplementeringens HTTP-arbete; HttpTransportOptions täcker Storages HTTP-tjänst. Ingendera tilldelningen konfigurerar automatiskt den andra.

StorageOptions.http har funnits sedan Java Storage 2.14.0. Håll isär bibliotekstyperna: HttpTransportOptions hör till Google Cloud Core och NetHttpTransport till Googles HTTP-klientbibliotek.

En gRPC-specifik Storage-klient har en annan transport. Välj HTTP-byggaren för denna fabriksanpassning i stället för att koppla enbart HTTP-alternativ till en gRPC-kanal.

Relaterade artiklar