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