Preamble
This tutorial helps you to upload and download a file on a AWS S3 bucket.
Before start this tutorial be sure you have these prerequisites :
- A S3 bucket
- A file on the bucket
- An AWS access key and secret key
- Java SDK 8 or above
Maven dependencies
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk</artifactId>
<optional>false</optional>
<version>1.12.77</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-core</artifactId>
<optional>false</optional>
<version>1.12.77</version>
</dependency>
Libraries
import com.amazonaws.auth.AWSStaticCredentialsProvider;
import com.amazonaws.auth.BasicAWSCredentials;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.GetObjectRequest;
import java.io.*;
Connection
This connection use accessKeyId and secretAccessKey. In Saagie environment it could be better to use environment variables.
BasicAWSCredentials awsCreds = new BasicAWSCredentials("AKIKYUEMVKZ92EH92DCH", "passwordpasswordpasswordpasswordpassword");
s3Client = AmazonS3ClientBuilder.standard()
.withRegion("eu-west-3")
.withCredentials(new AWSStaticCredentialsProvider(awsCreds))
.build();
Write a file
s3Client.putObject("saagie-service", "documentation-s3/doc-java/s3File.txt", new File("e:/s3File.txt"));
Read a file
s3Client.getObject("saagie-service", "documentation-s3/doc-java/s3File.txt", new File("e:/s3File.txt"));
Comments
0 comments
Please sign in to leave a comment.