Example implementation of a Spring Boot starter project that auto-configures an Amazon S3 client.
Projects:
- Auto-Configuration
- Starter Project
- Sample Application
The spring-boot-amazon-s3-sample is a Spring Boot application that allows users to upload files to an auto-configured Amazon S3 bucket.
To get started, replace the configuration for the development profile in the spring-boot-amazon-s3-sample/src/main/resources/application.yml file.
spring:
profiles: development
application:
name: s3-sample-app
amazon:
aws:
access-key-id: replace
access-key-secret: replace
s3:
default-bucket: replace
amazon.aws.access-key-idis the AWS IAM user's access key idamazon.aws.access-key-secretis the AWS IAM user's access key secretamazon.s3.default-bucketis a default bucket name used for theAmazonS3Template
After replacing the configuration properties with valid IAM user credentials, start the application using mvn spring-boot:run. This will start a web application on http://localhost:8080, where you can upload files under 5 MB in size. By default, the bucket that you specified in the application.yml properties file will be used as the target bucket to upload files to Amazon S3.
After uploading files, you can navigate to http://localhost:8080/s3 to see a collection of S3 objects that have been uploaded to the default bucket.
[
{
bucketName:"457f6a37-cbbc-4958-86dc-0821d01deb92",
key:"profile-photo.jpg",
size:148527,
lastModified:1455963592000,
storageClass:"STANDARD",
owner:null,
etag:"76e545dbfaa2b05754f21007d76a6f1a",
links:[
{
rel:"url",
href:"https://s3.amazonaws.com/457f6a37-cbbc-4958-86dc-0821d01deb92/profile-photo.jpg"
}
]
},
{
bucketName:"457f6a37-cbbc-4958-86dc-0821d01deb92",
key:"twitter-discovery.png",
size:398233,
lastModified:1455963182000,
storageClass:"STANDARD",
owner:null,
etag:"a51d7a07b7aa959f664e5f0b8d53a1ea",
links:[
{
rel:"url",
href:"https://s3.amazonaws.com/457f6a37-cbbc-4958-86dc-0821d01deb92/twitter-discovery.png"
}
]
}
]
The sample application in this project has been configured to bind to an Amazon S3 Service Broker instance on Cloud Foundry. To deploy this application to Cloud Foundry and use Amazon S3 as an auto-configured service binding, follow the directions in Amazon S3 Service Broker.