Files
getting-started/aws/s3
2021-02-03 21:13:32 +01:00
..
2021-02-03 21:11:58 +01:00
2021-02-03 21:11:58 +01:00
2021-02-03 21:11:58 +01:00
2021-02-03 21:11:58 +01:00
2021-02-03 21:11:58 +01:00
2021-02-03 21:11:58 +01:00
2021-02-03 21:11:58 +01:00
2021-02-03 21:11:58 +01:00
2021-02-03 21:13:32 +01:00
2021-02-03 21:11:58 +01:00


Logo

Private File Upload

Build on Spring Cloud & AWS S3

Table of Contents

About The Project

Built With

  • Spring Boot
  • Spring Cloud
  • AWS S3
  • & ❤️

Getting Started

Prerequisites

In order to run this application you should have an Amazon Web Services (AWS) account.

Installation

  1. Update the application.yaml settings value for cloud.aws.credentials.profile-name to the name of your local AWS-profile
  2. run ./gradlew bootRun
  3. Open your browser at localhost:8080

Usage

The application wraps a lot of S3-related API calls in easy to use UI elements to

  • create/delete buckets (mapped as "spaces" so we can give them non-unique names)
  • upload/delete files
  • make files public/private
  • create pre-signed URLs for files
  • create bucket policy rules to set the lifecycle duration for elements

More detailed instructions can be found here:

🪣 Create a bucket
  1. Navigate to the Spaces section
  2. Click on New Space
  3. Enter the name and click Submit
  4. A message should pop up to indicate success
🗂 Upload a File
  1. Navigate to the Spaces section
  2. Select Details on the target Space/Bucket
  3. Click on Upload File
  4. Pick our file, provide a name and click Submit
  5. A message should pop up to indicate success
🔎 List all Objects in a Bucket
  1. Navigate to the Spaces section
  2. Select Details on the target Space/Bucket
  3. You see a list of all objects stored in the bucket
🌐 Get an Object's URL
  1. Navigate to the Spaces section
  2. Select Details on the target Space/Bucket
  3. Select Download on the target object
  4. The object's URL shall be opened in a new tab
📢 Make an object public
  1. Navigate to the Spaces section
  2. Select Details on the target Space/Bucket
  3. Select Make Public on the target object
  4. A message should pop up to indicate success
🤫 Make an Object private
  1. Navigate to the Spaces section
  2. Select Details on the target Space/Bucket
  3. Select Make Private on the target object
  4. A message should pop up to indicate success
🔥 Delete an Object
  1. Navigate to the Spaces section
  2. Select Details on the target Space/Bucket
  3. Select Delete on the target object
  4. The list of objects should reload without the deleted one
☄️ Delete a Bucket
  1. Navigate to the Spaces section
  2. Select Delete on the target Space/Bucket
  3. The list of buckets should reload without the deleted one
👾 Generate a pre-signed URL
  1. Navigate to the Spaces section
  2. Select Details on the target Space/Bucket
  3. Select Magic Link on the target object
  4. A message should pop up, containing a pre-signed URL for that object (which is valid for 15 minutes)
Set Expiration on Bucket
  1. Navigate to the Spaces section
  2. Select Make Temporary on the target Space/Bucket
  3. Select Delete on the target object
  4. A message should pop up to indicate success

Contact

Joshua Görner - jgoerner - joshua.goerner[at]gmail.com

Acknowledgements