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

Die toepassing se gewone Application Default Credentials-opstelling bly in plek. Waar 'n publieke proxy vir die Storage- en token-eindpunte toegelaat word, bied die HTTP-proxyslys kandidate vir die InetSocketAddress-gasheer en -poort. Voorsien die fabriek terwyl daardie geloofsbriewe gelaai word, voordat hulle HTTP-tokenversoeke dit nodig het.

Twee insette gebruik die fabriek: getApplicationDefault(factory) dek die geloofsbriefimplementering se HTTP-werk; HttpTransportOptions dek die Storage HTTP-diens. Nie een van die twee stellings konfigureer outomaties die ander nie.

StorageOptions.http is beskikbaar sedert Java Storage 2.14.0. Hou die biblioteektipes reg: HttpTransportOptions hoort by Google Cloud Core en NetHttpTransport by Google se HTTP-kliëntbiblioteek.

'n gRPC-spesifieke Storage-kliënt het 'n ander vervoer. Kies die HTTP-bouer vir hierdie fabrieksaanpassing eerder as om slegs-HTTP-opsies aan 'n gRPC-kanaal te koppel.

Verwante artikels