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 מכסה את שירות ה-HTTP של Storage. אף אחת מההקצאות אינה מגדירה את האחרת אוטומטית.
StorageOptions.http זמין מאז Java Storage 2.14.0. שמרו על סוגי הספריות נכונים: HttpTransportOptions שייך ל-Google Cloud Core ו-NetHttpTransport לספריית לקוח ה-HTTP של Google.
ללקוח Storage ייעודי ל-gRPC יש תעבורה אחרת. בחרו בבונה ה-HTTP להתאמה זו של המפעל במקום לצרף אפשרויות של HTTP בלבד לערוץ gRPC.