Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awsdocs
GitHub Repository: awsdocs/amazon-s3-developer-guide
Path: blob/master/code_examples/java_examples/S3Examples/TransferAcceleration.java
4084 views
1
// Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
// SPDX-License-Identifier: MIT-0 (For details, see https://github.com/awsdocs/amazon-s3-developer-guide/blob/master/LICENSE-SAMPLECODE.)
3
4
import com.amazonaws.AmazonServiceException;
5
import com.amazonaws.SdkClientException;
6
import com.amazonaws.auth.profile.ProfileCredentialsProvider;
7
import com.amazonaws.services.s3.AmazonS3;
8
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
9
import com.amazonaws.services.s3.model.BucketAccelerateConfiguration;
10
import com.amazonaws.services.s3.model.BucketAccelerateStatus;
11
import com.amazonaws.services.s3.model.GetBucketAccelerateConfigurationRequest;
12
import com.amazonaws.services.s3.model.SetBucketAccelerateConfigurationRequest;
13
14
public class TransferAcceleration {
15
public static void main(String[] args) {
16
String clientRegion = "*** Client region ***";
17
String bucketName = "*** Bucket name ***";
18
String keyName = "*** Key name ***";
19
20
try {
21
// Create an Amazon S3 client that is configured to use the accelerate endpoint.
22
AmazonS3 s3Client = AmazonS3ClientBuilder.standard()
23
.withRegion(clientRegion)
24
.withCredentials(new ProfileCredentialsProvider())
25
.enableAccelerateMode()
26
.build();
27
28
// Enable Transfer Acceleration for the specified bucket.
29
s3Client.setBucketAccelerateConfiguration(
30
new SetBucketAccelerateConfigurationRequest(bucketName,
31
new BucketAccelerateConfiguration(
32
BucketAccelerateStatus.Enabled)));
33
34
// Verify that transfer acceleration is enabled for the bucket.
35
String accelerateStatus = s3Client.getBucketAccelerateConfiguration(
36
new GetBucketAccelerateConfigurationRequest(bucketName))
37
.getStatus();
38
System.out.println("Bucket accelerate status: " + accelerateStatus);
39
40
// Upload a new object using the accelerate endpoint.
41
s3Client.putObject(bucketName, keyName, "Test object for transfer acceleration");
42
System.out.println("Object \"" + keyName + "\" uploaded with transfer acceleration.");
43
}
44
catch(AmazonServiceException e) {
45
// The call was transmitted successfully, but Amazon S3 couldn't process
46
// it, so it returned an error response.
47
e.printStackTrace();
48
}
49
catch(SdkClientException e) {
50
// Amazon S3 couldn't be contacted for a response, or the client
51
// couldn't parse the response from Amazon S3.
52
e.printStackTrace();
53
}
54
}
55
}
56
57