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 sædvanlige opsætning af Application Default Credentials forbliver uændret. Hvor en offentlig proxy er tilladt for Storage- og tokenendepunkterne, tilbyder HTTP-proxylisten kandidater til InetSocketAddress-vært og -port. Angiv fabrikken, mens disse legitimationsoplysninger indlæses, før deres HTTP-tokenanmodninger får brug for den.

To input bruger fabrikken: getApplicationDefault(factory) dækker legitimationsimplementeringens HTTP-arbejde; HttpTransportOptions dækker Storage HTTP-tjenesten. Ingen af tildelingerne konfigurerer automatisk den anden.

StorageOptions.http har været tilgængelig siden Java Storage 2.14.0. Hold bibliotekstyperne klare: HttpTransportOptions hører til Google Cloud Core, og NetHttpTransport til Googles HTTP-klientbibliotek.

En gRPC-specifik Storage-klient har en anden transport. Vælg HTTP-builderen til denne fabrikstilpasning i stedet for at knytte HTTP-only-indstillinger til en gRPC-kanal.

Relaterede artikler