Google Cloud Storage Java: cấu hình vận chuyển HTTP qua proxy
Chọn StorageOptions.http và cung cấp factory vận chuyển cho cả tùy chọn dịch vụ HTTP lẫn 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();Thiết lập Application Default Credentials thông thường của ứng dụng vẫn giữ nguyên. Ở nơi proxy công khai được phép cho các điểm cuối Storage và token, danh sách proxy HTTP cung cấp ứng viên cho máy chủ và cổng của InetSocketAddress. Hãy cung cấp factory trong lúc tải các thông tin xác thực đó, trước khi các yêu cầu token HTTP của chúng cần đến nó.
Hai đầu vào sử dụng factory: getApplicationDefault(factory) bao phủ phần việc HTTP của phần triển khai thông tin xác thực; HttpTransportOptions bao phủ dịch vụ HTTP của Storage. Không phép gán nào tự động cấu hình phép gán kia.
StorageOptions.http có từ Java Storage 2.14.0. Hãy phân biệt đúng các kiểu thư viện: HttpTransportOptions thuộc Google Cloud Core và NetHttpTransport thuộc thư viện ứng dụng HTTP của Google.
Một ứng dụng Storage dành riêng cho gRPC có vận chuyển khác. Hãy chọn builder HTTP cho tùy biến factory này thay vì gắn các tùy chọn chỉ dành cho HTTP vào một kênh gRPC.