Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Aws sdk 2连接和异步调用_Java_Amazon S3_Amazon Ec2_Proxy_Aws Sdk - Fatal编程技术网

Java Aws sdk 2连接和异步调用

Java Aws sdk 2连接和异步调用,java,amazon-s3,amazon-ec2,proxy,aws-sdk,Java,Amazon S3,Amazon Ec2,Proxy,Aws Sdk,我正在尝试通过本地代理和使用JavaAWSDK2库的EC2实例异步写入S3 bucket 我能够创建同步客户端,但是ASYNC看起来完全不同 下面是我使用iam密钥和EC2实例在本地连接的代码: Region Region=Region.of(awsS3Config.getRegion()); if(goalsEngineConfig!=null&&ENVIRONMENT_LOCAL.equalsIgnoreCase(goalsEngineConfig.getEnv()) { AwsCreden

我正在尝试通过本地代理和使用JavaAWSDK2库的EC2实例异步写入S3 bucket

我能够创建同步客户端,但是ASYNC看起来完全不同

下面是我使用iam密钥和EC2实例在本地连接的代码: Region Region=Region.of(awsS3Config.getRegion()); if(goalsEngineConfig!=null&&ENVIRONMENT_LOCAL.equalsIgnoreCase(goalsEngineConfig.getEnv()) { AwsCredentials awsCredentials= 创建(awsS3Config.getIamKey(),awsS3Config.getIamSecretKey())

//创建Async不起作用,因此我需要帮助创建它 this.s3AsyncClient=s3AsyncClient.builder() .地区(地区) .asyncHttpConfiguration(ClientAsyncHttpConfiguration.builder() .httpClient(sdkHttpClient) .build()).credentialsProvider(StaticCredentialsProvider.create(awsCredentials)) .build(); } 否则//不是本地环境,请使用EC2实例身份验证 { this.s3AsyncClient=s3AsyncClient.builder() .地区(地区) .credentialsProvider(新InstanceProfileCredentialsProvider.create()) .build(); }


欢迎提供任何帮助?

那么,从我的理解来看,这里的确切问题是什么?您希望使用支持异步的AWS Java SDK实现Java SDK异步S3获取,但您不知道如何使用支持异步的AWS Java SDK连接到AWS S3?我想实现PUT(参见编辑的代码)抱歉,我认为我粘贴了正确的代码段和@MattG,这是正确的。我不确定如何使用支持异步的AWS Java SDK 2连接到AWS S3,尤其是在代理部分。Java SDK V2客户端可能不支持这种情况(目前)
            String protocol = Protocol.HTTP.toString();
            String host = "somproxy.foo";
            int port = 8888;
            String path = null;
            String auth = null;
            String fragment = null;
            URI uri = new URI(protocol, auth, host, port, path, null, fragment);
            ProxyConfiguration.Builder builder = ProxyConfiguration.builder().endpoint(uri);
            ProxyConfiguration proxyConfiguration = builder.build();

            ApacheSdkHttpClientFactory
                apacheSdkHttpClientFactory =
                ApacheSdkHttpClientFactory.builder().proxyConfiguration(proxyConfiguration).build();

            this.s3Client = S3Client.builder()
                .region(region)
                .httpConfiguration(ClientHttpConfiguration.builder()
                    .httpClientFactory(apacheSdkHttpClientFactory)
                    .build())
                .credentialsProvider(StaticCredentialsProvider.create(awsCredentials))
                .build();

            SdkAsyncHttpClientFactory sdkAsyncHttpClientFactory = null;
            SdkAsyncHttpClient sdkHttpClient = null;