@Provides @LazySingleton public ServerSideEncryptingAmazonS3 getAmazonS3Client( AWSCredentialsProvider provider, AWSProxyConfig proxyConfig, AWSEndpointConfig endpointConfig, AWSClientConfig clientConfig, S3StorageConfig storageConfig ) { final ClientConfiguration configuration = new ClientConfigurationFactory().getConfig(); final Protocol protocol = determineProtocol(clientConfig, endpointConfig); final AmazonS3ClientBuilder builder = AmazonS3Client .builder() .withCredentials(provider) .withClientConfiguration(setProxyConfig(configuration, proxyConfig).withProtocol(protocol)) .withChunkedEncodingDisabled(clientConfig.isDisableChunkedEncoding()) .withPathStyleAccessEnabled(clientConfig.isEnablePathStyleAccess()) .withForceGlobalBucketAccessEnabled(clientConfig.isForceGlobalBucketAccessEnabled()); if (StringUtils.isNotEmpty(endpointConfig.getUrl())) { builder.setEndpointConfiguration( new EndpointConfiguration(endpointConfig.getUrl(), endpointConfig.getSigningRegion()) ); } return new ServerSideEncryptingAmazonS3(builder.build(), storageConfig.getServerSideEncryption()); }
amazonS3ClientBuilder.setEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(endpoint, null)); amazonS3ClientBuilder.setPathStyleAccessEnabled(true); } else {
protected AmazonS3 getS3Client() { AmazonS3ClientBuilder builder = AmazonS3ClientBuilder.standard(); if (!StringUtils.isEmpty(apiEndpoint)) { AwsClientBuilder.EndpointConfiguration endpoint = new AwsClientBuilder.EndpointConfiguration(apiEndpoint, apiRegion); builder.setEndpointConfiguration(endpoint); builder.setPathStyleAccessEnabled(true); } else if (!StringUtils.isEmpty(region)) { builder.setRegion(region); } if (!StringUtils.isEmpty(awsAccessKeyId) && !StringUtils.isEmpty(awsSecretAccessKey)) { BasicAWSCredentials awsStaticCreds = new BasicAWSCredentials(awsAccessKeyId, awsSecretAccessKey); builder.withCredentials(new AWSStaticCredentialsProvider(awsStaticCreds)); } return builder.build(); }
"if both is specified only the endpoint will be in effect."); builder.setEndpointConfiguration(new EndpointConfiguration(endpoint.get(), null)); builder.setEndpointConfiguration(new EndpointConfiguration("s3.amazonaws.com", null));
public S3AccessIO(T dvObject, DataAccessRequest req) { super(dvObject, req); this.setIsLocalFile(false); try { // get a standard client, using the standard way of configuration the credentials, etc. AmazonS3ClientBuilder s3CB = AmazonS3ClientBuilder.standard(); // if the admin has set a system property (see below) we use this endpoint URL instead of the standard ones. if (!s3CEUrl.isEmpty()) { s3CB.setEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(s3CEUrl, s3CERegion)); } // some custom S3 implementations require "PathStyleAccess" as they us a path, not a subdomain. default = false s3CB.withPathStyleAccessEnabled(s3pathStyleAccess); // let's build the client :-) this.s3 = s3CB.build(); } catch (Exception e) { throw new AmazonClientException( "Cannot instantiate a S3 client using; check your AWS credentials and region", e); } }
amazonS3ClientBuilder.setEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(endpoint, null)); amazonS3ClientBuilder.setPathStyleAccessEnabled(true); } else {
@Provides @LazySingleton public ServerSideEncryptingAmazonS3 getAmazonS3Client( AWSCredentialsProvider provider, AWSProxyConfig proxyConfig, AWSEndpointConfig endpointConfig, AWSClientConfig clientConfig, S3StorageConfig storageConfig ) { final ClientConfiguration configuration = new ClientConfigurationFactory().getConfig(); final AmazonS3ClientBuilder builder = AmazonS3Client .builder() .withCredentials(provider) .withClientConfiguration(setProxyConfig(configuration, proxyConfig)) .withChunkedEncodingDisabled(clientConfig.isDisableChunkedEncoding()) .withPathStyleAccessEnabled(clientConfig.isEnablePathStyleAccess()) .withForceGlobalBucketAccessEnabled(clientConfig.isForceGlobalBucketAccessEnabled()); if (StringUtils.isNotEmpty(endpointConfig.getUrl())) { builder.setEndpointConfiguration( new EndpointConfiguration(endpointConfig.getUrl(), endpointConfig.getSigningRegion()) ); } return new ServerSideEncryptingAmazonS3( builder.build(), storageConfig.getServerSideEncryption() ); }