protected S3ClientOptions resolveS3ClientOptions() { final S3ClientOptions.Builder builder = S3ClientOptions.builder(); if (Boolean.TRUE.equals(this.chunkedEncodingDisabled)) { builder.disableChunkedEncoding(); } if (this.payloadSigningEnabled != null) { builder.setPayloadSigningEnabled(this.payloadSigningEnabled); } if (this.accelerateModeEnabled != null) { builder.setAccelerateModeEnabled(this.accelerateModeEnabled); } if (this.pathStyleAccessEnabled != null) { builder.setPathStyleAccess(this.pathStyleAccessEnabled); } if(Boolean.TRUE.equals(this.dualstackEnabled)) { builder.enableDualstack(); } if(Boolean.TRUE.equals(this.forceGlobalBucketAccessEnabled)) { builder.enableForceGlobalBucketAccess(); } return builder.build(); } }
public URL getPreSignedUrl(long attachmentId, HttpMethod method, boolean unaccelerated) { AmazonS3 client = new AmazonS3Client(credentials); GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(bucket, String.valueOf(attachmentId), method); request.setExpiration(new Date(System.currentTimeMillis() + DURATION)); request.setContentType("application/octet-stream"); if (unaccelerated) { client.setS3ClientOptions(S3ClientOptions.builder().setPathStyleAccess(true).build()); } else { client.setS3ClientOptions(S3ClientOptions.builder().setAccelerateModeEnabled(true).build()); } return client.generatePresignedUrl(request); }
S3ClientOptions clientOptions = S3ClientOptions.builder().setPathStyleAccess(true).build(); amazonS3Client.setS3ClientOptions(clientOptions);
mClient.setEndpoint(serviceUrl); mClient.setS3ClientOptions(S3ClientOptions.builder().setPathStyleAccess(true).build());
mClient.setEndpoint(serviceUrl); mClient.setS3ClientOptions(S3ClientOptions.builder().setPathStyleAccess(true).build());
s3.setS3ClientOptions(S3ClientOptions.builder().setPathStyleAccess(true).build());
S3ClientOptions.builder().setPathStyleAccess(true).build(); s3.setS3ClientOptions(clientOptions); String endpoint = prop.getProperty(s3Alias + ".s3.endpoint");
s3.setS3ClientOptions(S3ClientOptions.builder() .setPathStyleAccess(true) .build());
S3ClientOptions.builder().setPathStyleAccess(true).build(); s3.setS3ClientOptions(clientOptions); String endpoint = this.endpoint;
protected S3ClientOptions resolveS3ClientOptions() { final S3ClientOptions.Builder builder = S3ClientOptions.builder(); if (Boolean.TRUE.equals(this.chunkedEncodingDisabled)) { builder.disableChunkedEncoding(); } if (this.payloadSigningEnabled != null) { builder.setPayloadSigningEnabled(this.payloadSigningEnabled); } if (this.accelerateModeEnabled != null) { builder.setAccelerateModeEnabled(this.accelerateModeEnabled); } if (this.pathStyleAccessEnabled != null) { builder.setPathStyleAccess(this.pathStyleAccessEnabled); } if(Boolean.TRUE.equals(this.dualstackEnabled)) { builder.enableDualstack(); } if(Boolean.TRUE.equals(this.forceGlobalBucketAccessEnabled)) { builder.enableForceGlobalBucketAccess(); } return builder.build(); } }
void setBinaryTransferAccelerationEnabled(boolean enabled) { if (enabled) { // verify acceleration is enabled on the bucket BucketAccelerateConfiguration accelerateConfig = s3service.getBucketAccelerateConfiguration(new GetBucketAccelerateConfigurationRequest(bucket)); if (accelerateConfig.isAccelerateEnabled()) { // If transfer acceleration is enabled for presigned URIs, we need a separate AmazonS3Client // instance with the acceleration mode enabled, because we don't want the requests from the // data store itself to S3 to use acceleration s3PresignService = Utils.openService(properties); s3PresignService.setS3ClientOptions(S3ClientOptions.builder().setAccelerateModeEnabled(true).build()); LOG.info("S3 Transfer Acceleration enabled for presigned URIs."); } else { LOG.warn("S3 Transfer Acceleration is not enabled on the bucket {}. Will create normal, non-accelerated presigned URIs.", bucket, S3Constants.PRESIGNED_URI_ENABLE_ACCELERATION); } } else { s3PresignService = s3service; } }
void setBinaryTransferAccelerationEnabled(boolean enabled) { if (enabled) { // verify acceleration is enabled on the bucket BucketAccelerateConfiguration accelerateConfig = s3service.getBucketAccelerateConfiguration(new GetBucketAccelerateConfigurationRequest(bucket)); if (accelerateConfig.isAccelerateEnabled()) { // If transfer acceleration is enabled for presigned URIs, we need a separate AmazonS3Client // instance with the acceleration mode enabled, because we don't want the requests from the // data store itself to S3 to use acceleration s3PresignService = Utils.openService(properties); s3PresignService.setS3ClientOptions(S3ClientOptions.builder().setAccelerateModeEnabled(true).build()); LOG.info("S3 Transfer Acceleration enabled for presigned URIs."); } else { LOG.warn("S3 Transfer Acceleration is not enabled on the bucket {}. Will create normal, non-accelerated presigned URIs.", bucket, S3Constants.PRESIGNED_URI_ENABLE_ACCELERATION); } } else { s3PresignService = s3service; } }
@Override public Storage newStorage(Config config) { AmazonS3Client client = new AmazonS3Client( buildCredentialsProvider(config), buildClientConfiguration(config)); if (config.has("endpoint")) { client.setEndpoint(config.get("endpoint", String.class)); } if (config.has("path-style-access")) { client.setS3ClientOptions( S3ClientOptions.builder().setPathStyleAccess( config.get("path-style-access", Boolean.class, false) ).build()); } String bucket = config.get("bucket", String.class); return new S3Storage(config, client, bucket); }
protected S3ClientOptions getClientOptions(Properties props) { S3ClientOptions.Builder builder = S3ClientOptions.builder(); if (props.getProperty(PATH_STYLE_ACCESS) != null && Boolean.parseBoolean(props.getProperty(PATH_STYLE_ACCESS))) builder.setPathStyleAccess(true); return builder.build(); }
public AmazonS3 getS3client() { BasicAWSCredentials awsCreds = new BasicAWSCredentials(accessKey, securityKey); if (testing && (!testingUrl.isEmpty() || !testingUrl.equals(""))) { s3client = new AmazonS3Client(awsCreds); s3client.setRegion(Region.getRegion(Regions.fromName(bucketRegion))); s3client.setEndpoint(testingUrl); s3client.setS3ClientOptions(S3ClientOptions.builder().setPathStyleAccess(true).disableChunkedEncoding().build()); } else { s3client = AmazonS3ClientBuilder.standard().withRegion(Regions.fromName(bucketRegion)) .withCredentials(new AWSStaticCredentialsProvider(awsCreds)).build(); } return s3client; }
@Test public void testBuilder() { S3ClientOptions options = S3ClientOptions.builder().setAccelerateModeEnabled(true) .setPathStyleAccess(true).build(); assertTrue(options.isAccelerateModeEnabled()); assertTrue(options.isPathStyleAccess()); } }
@Before public void setup() { creds = new BasicAWSCredentials("accessKey", "secretKey"); s3 = new AmazonS3Client(creds); accelerateOption = S3ClientOptions.builder().setAccelerateModeEnabled(true).build(); }