Как хранить локальные файлы в определенной папке в корзинах Amazon S3, используя JDBC - PullRequest
0 голосов
/ 11 июля 2019

Я хочу сохранить определенный файл в папке Amazon в сегментах S3. Прямо сейчас, когда я кодирую, он хранит файл внутри корзины Amazon s3.

//final AmazonS3 s3 = AmazonS3Client.builder().withRegion("us-east-1").build();
            try {
                s3Client.putObject("testbucket", "file_test", new File("xyz.parq"));
            }
            catch (AmazonServiceException e) {
                System.err.println(e.getErrorMessage());
                System.exit(1);
        }

Это загружает файл в ведро тестбакета. У меня есть несколько папок внутри ведра с именем test1 test2 / sub2 /

Я хочу загрузить локальный файл xyz.parq внутри S3: //testbucket/test2/sub2/xyz.parq.

Есть ли способ сделать это? Не удалось найти онлайн-ресурсы

1 Ответ

0 голосов
/ 11 июля 2019

Добавление имен папок в имя ключа объекта.

    String bucket_name = "testbucket";
    String file_path = "test2/sub2";
    String key_name = Paths.get(file_path).getFileName().toString();

    System.out.format("Uploading %s to S3 bucket %s...\n", file_path, bucket_name);
    final AmazonS3 s3 = AmazonS3ClientBuilder.defaultClient();
    try {
        s3.putObject(bucket_name, key_name, new File(file_path));
    } catch (AmazonServiceException e) {
        System.err.println(e.getErrorMessage());
        System.exit(1);
    }
    System.out.println("Done!");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...