From 05bc8381cdd0ae2e4f47914d628b0dfddd6739cd07014a849c8ed914d83805ab Mon Sep 17 00:00:00 2001 From: dxrknesss Date: Sat, 24 May 2025 16:08:55 +0300 Subject: [PATCH] feat: initial commit. some work have already been done tho. --- .gitignore | 40 +++++++++++++++++++ pom.xml | 25 ++++++++++++ src/main/java/ua/com/dxrkness/Main.java | 18 +++++++++ src/main/java/ua/com/dxrkness/S3Service.java | 41 ++++++++++++++++++++ 4 files changed, 124 insertions(+) create mode 100644 .gitignore create mode 100644 pom.xml create mode 100644 src/main/java/ua/com/dxrkness/Main.java create mode 100644 src/main/java/ua/com/dxrkness/S3Service.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..0c3c8e8 --- /dev/null +++ b/.gitignore @@ -0,0 +1,40 @@ +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### IntelliJ IDEA ### +.idea/modules.xml +.idea/jarRepositories.xml +.idea/compiler.xml +.idea/libraries/ +*.iws +*.iml +*.ipr + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store + +.idea \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..98c36f4 --- /dev/null +++ b/pom.xml @@ -0,0 +1,25 @@ + + + 4.0.0 + + ua.com.dxrkness + aws-example + 1.0-SNAPSHOT + + + 23 + 23 + UTF-8 + + + + + software.amazon.awssdk + s3 + 2.25.27 + + + + \ No newline at end of file diff --git a/src/main/java/ua/com/dxrkness/Main.java b/src/main/java/ua/com/dxrkness/Main.java new file mode 100644 index 0000000..7978128 --- /dev/null +++ b/src/main/java/ua/com/dxrkness/Main.java @@ -0,0 +1,18 @@ +package ua.com.dxrkness; + +import software.amazon.awssdk.regions.Region; +import software.amazon.awssdk.services.s3.S3Client; + +import java.io.IOException; + +public class Main { + public static void main(String[] args) throws IOException { + + final var s3 = S3Client.builder() + .region(Region.EU_CENTRAL_1) + .build(); + try (s3) { + s3.listBuckets().buckets().forEach(System.out::println); + } + } +} \ No newline at end of file diff --git a/src/main/java/ua/com/dxrkness/S3Service.java b/src/main/java/ua/com/dxrkness/S3Service.java new file mode 100644 index 0000000..2eccecc --- /dev/null +++ b/src/main/java/ua/com/dxrkness/S3Service.java @@ -0,0 +1,41 @@ +package ua.com.dxrkness; + +import software.amazon.awssdk.services.s3.S3Client; +import software.amazon.awssdk.services.s3.model.S3Object; + +import java.nio.file.Path; +import java.util.List; + +public class S3Service { + private final S3Client client; + private final String bucketName; + + public S3Service(S3Client client, String bucketName) { + this.client = client; + this.bucketName = bucketName; + } + + public void createDirectory(Path path) { + throw new UnsupportedOperationException(); + } + + public Boolean delete(Path path) { + return client + .deleteObject(b -> b.bucket(bucketName).key(path.toString()).build()) + .deleteMarker(); + } + + public List listing(Path path) { + return client + .listObjectsV2(b -> b.bucket(bucketName).build()) + .contents(); + } + + public void uploadFile(Path path) { + throw new UnsupportedOperationException(); + } + + public String downloadFile(Path path) { + throw new UnsupportedOperationException(); + } +} \ No newline at end of file