Google cloud storage 如何使用Java为GCP中的存储服务设置代理?

Google cloud storage 如何使用Java为GCP中的存储服务设置代理?,google-cloud-storage,Google Cloud Storage,我想使用JAVA从GCP Bucket下载对象。以下是我编写的代码示例: NetHttpTransport.Builder builder = new NetHttpTransport.Builder(); builder.trustCertificates(GoogleUtils.getCertificateTrustStore()); builder.setProxy(new Proxy(Proxy.Type.SOCKS, new InetSocketAdd

我想使用JAVA从GCP Bucket下载对象。以下是我编写的代码示例:

    NetHttpTransport.Builder builder = new NetHttpTransport.Builder();
    builder.trustCertificates(GoogleUtils.getCertificateTrustStore());
    builder.setProxy(new Proxy(Proxy.Type.SOCKS, new 
    InetSocketAddress("myproxy", 1234)));
    final HttpTransport httpTransport = builder.build();

    HttpTransportFactory hf = new HttpTransportFactory(){
        @Override
        public HttpTransport create() {
            return httpTransport;
        }
    };

    ServiceAccountCredentials.fromStream(new FileInputStream("path"));
    Storage storage = StorageOptions.newBuilder()
            .setProjectId("projectId")
            .setCredentials(ServiceAccountCredentials.getApplicationDefault(hf))
            .build()
            .getService();
运行此代码时,我遇到以下异常:

javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to
find valid certification path to requested target

有没有办法为存储服务设置代理?

根据中的说明,Google云客户端库不提供内置代理支持。您必须配置系统代理或特定于环境的代理。 例如,如果您正在运行JVM,则可以按照所述配置代理设置