Google Cloud Storage Java : configurer le transport HTTP via proxy
Sélectionnez StorageOptions.http et fournissez la fabrique de transport à la fois aux options du service HTTP et à Application Default Credentials.
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();La configuration habituelle d'Application Default Credentials de l'application reste en place. Là où un proxy public est autorisé pour les points de terminaison Storage et de jetons, la liste de proxys HTTP propose des candidats pour l'hôte et le port de l'InetSocketAddress. Fournissez la fabrique pendant le chargement de ces identifiants, avant que leurs requêtes de jeton HTTP en aient besoin.
Deux entrées utilisent la fabrique : getApplicationDefault(factory) couvre le travail HTTP de l'implémentation des identifiants ; HttpTransportOptions couvre le service HTTP de Storage. Aucune des deux affectations ne configure automatiquement l'autre.
StorageOptions.http est disponible depuis Java Storage 2.14.0. Gardez les types de bibliothèques distincts : HttpTransportOptions relève de Google Cloud Core et NetHttpTransport de la bibliothèque cliente HTTP de Google.
Un client Storage spécifique à gRPC dispose d'un autre transport. Choisissez le constructeur HTTP pour cette personnalisation de fabrique plutôt que d'attacher des options propres à HTTP à un canal gRPC.