Google Cloud Storage Java: HTTP პროქსი ტრანსპორტის კონფიგურაცია
აირჩიეთ StorageOptions.http და ტრანსპორტის ფაბრიკა მიაწოდეთ როგორც HTTP სერვისის პარამეტრებს, ისე 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();აპლიკაციის ჩვეულებრივი Application Default Credentials კონფიგურაცია უცვლელი რჩება. სადაც Storage-ისა და ტოკენების ბოლო წერტილებისთვის საჯარო პროქსი დაშვებულია, HTTP პროქსების სია InetSocketAddress-ის ჰოსტისა და პორტის კანდიდატებს გვთავაზობს. ფაბრიკა მიაწოდეთ ამ სერტიფიკატების ჩატვირთვისას, სანამ მათ HTTP ტოკენის მოთხოვნებს დასჭირდება.
ფაბრიკას ორი შეყვანა იყენებს: getApplicationDefault(factory) ფარავს სერტიფიკატების იმპლემენტაციის HTTP სამუშაოს; HttpTransportOptions ფარავს Storage-ის HTTP სერვისს. არც ერთი მინიჭება მეორეს ავტომატურად არ აკონფიგურირებს.
StorageOptions.http ხელმისაწვდომია Java Storage 2.14.0-დან. ბიბლიოთეკის ტიპები ზუსტად გაითვალისწინეთ: HttpTransportOptions ეკუთვნის Google Cloud Core-ს, ხოლო NetHttpTransport Google-ის HTTP კლიენტის ბიბლიოთეკას.
gRPC-სპეციფიკურ Storage კლიენტს სხვა ტრანსპორტი აქვს. ამ ფაბრიკის მორგებისთვის აირჩიეთ HTTP შემქმნელი, ნაცვლად იმისა, რომ მხოლოდ HTTP პარამეტრები მიამაგროთ gRPC არხს.