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

Configurarea obișnuită a Application Default Credentials a aplicației rămâne neschimbată. Acolo unde un proxy public este permis pentru punctele finale Storage și pentru tokenuri, lista de proxy-uri HTTP oferă candidați pentru gazda și portul InetSocketAddress. Furnizați fabrica în timpul încărcării acelor credențiale, înainte ca cererile lor de token HTTP să aibă nevoie de ea.

Două intrări folosesc fabrica: getApplicationDefault(factory) acoperă munca HTTP a implementării credențialelor; HttpTransportOptions acoperă serviciul HTTP al Storage. Niciuna dintre atribuiri nu o configurează automat pe cealaltă.

StorageOptions.http este disponibil din Java Storage 2.14.0. Păstrați tipurile bibliotecilor clare: HttpTransportOptions aparține Google Cloud Core, iar NetHttpTransport bibliotecii client HTTP a Google.

Un client Storage specific gRPC are alt transport. Alegeți constructorul HTTP pentru această personalizare a fabricii, în loc să atașați opțiuni doar HTTP la un canal gRPC.

Articole similare