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

Zwykła konfiguracja Application Default Credentials aplikacji pozostaje bez zmian. Tam, gdzie publiczne proxy jest dozwolone dla punktów końcowych Storage i tokenów, lista proxy HTTP oferuje kandydatów dla hosta i portu InetSocketAddress. Dostarcz fabrykę podczas ładowania tych poświadczeń, zanim zażądają jej ich żądania tokenów HTTP.

Fabryki używają dwa wejścia: getApplicationDefault(factory) obejmuje pracę HTTP implementacji poświadczeń; HttpTransportOptions obejmuje usługę HTTP Storage. Żadne z przypisań nie konfiguruje automatycznie drugiego.

StorageOptions.http jest dostępne od Java Storage 2.14.0. Rozróżniaj typy bibliotek: HttpTransportOptions należy do Google Cloud Core, a NetHttpTransport do biblioteki klienta HTTP Google.

Klient Storage specyficzny dla gRPC ma inny transport. Dla tej personalizacji fabryki wybierz konstruktor HTTP, zamiast doczepiać opcje wyłącznie HTTP do kanału gRPC.

Powiązane artykuły