Найти

Вы здесь:

Amazon S3 - объектное хранилище. Для работы с S3 (Amazon S3 или любым S3-совместимым хранилищем — MinIO, Yandex Object Storage и т.п.) в Java чаще всего используют AWS SDK for Java.

Создать бакет (bucket):

String bucketName = "my-java-bucket";
try {
    s3.createBucket(CreateBucketRequest.builder()
        .bucket(bucketName)
        .build());
    System.out.println("Бакет создан: " + bucketName);
} catch (S3Exception e) {
    System.err.println("Ошибка: " + e.awsErrorDetails().errorMessage());
}
    


Адресация в S3 по имени бакета и ключу.

Загрузить файл.
Можно загрузить из локального файла, из строки или потока:

s3.putObject(PutObjectRequest.builder()
    .bucket(bucketName)
    .key("docs/report.pdf")
    .build(),
    RequestBody.fromFile(Paths.get("/home/user/report.pdf")));

// Или загрузка строки
s3.putObject(PutObjectRequest.builder()
    .bucket(bucketName)
    .key("hello.txt")
    .build(),
    RequestBody.fromString("Hello, S3!"));
    

Получить объект.

s3.getObject(GetObjectRequest.builder()
    .bucket(bucketName)
    .key("docs/report.pdf")
    .build());
    

Удалить объект.

s3.deleteObject(DeleteObjectRequest.builder()
    .bucket(bucketName)
    .key("docs/report.pdf")
    .build());
    

Удалить БАКЕТ.

DeleteBucketRequest deleteRequest = DeleteBucketRequest.builder()
    .bucket(bucketName)
    .build();
s3.deleteBucket(deleteRequest);
    

В SDK есть методы для работы с метаданными объекта (metadata), для получения списка объектов в бакете (listObjectsV2).

Ссылки:
https://www.baeldung.com/java-aws-s3