AWS S3 listFiles - Как я могу получить путь к каталогу? - PullRequest
0 голосов
/ 06 ноября 2018

Можно ли получить все имена файлов из корзины s3? В моем местном весеннем загрузочном проекте я написал что-то вроде этого, и оно работает.

File[] files = new File("/myfiles").listFiles();
    for (File file : files) {
        if (file.isFile()) {
            filesDir.add(file.getName());
        }
    }

На AWS я пробую это, но это не работает.

File[] files = new File("https://s3.eu-central-1.amazonaws.com/bucket_name/myfiles/").listFiles();
        for (File file : files) {
            if (file.isFile()) {
                filesDir.add(file.getName());
            }
        }

Что не так, как я могу получить путь к каталогу от s3?

1 Ответ

0 голосов
/ 06 ноября 2018

Прежде всего, вам необходимо подключиться к S3. Для этого нижеприведенного предложите. Добавьте в свой домен API AWS

<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk</artifactId>
    <version>1.11.113</version>
</dependency>

Вы создадите экземпляр сервиса AmazonS3. Как это:

BasicAWSCredentials credentials = new BasicAWSCredentials("ACCESS KEY", "SECRET KEY");
AmazonS3 service AmazonS3Client.builder()
             .withClientConfiguration(clientConfiguration)
             .withEndpointConfiguration(new EndpointConfiguration("YOUR_ENDPOINT", "YOUR_REGION"))
             .withCredentials(new AWSStaticCredentialsProvider(credentials))
             .build();

После подключения вы можете получить информацию о корзине, используя только что созданный сервис.

ListObjectsV2Request req = new ListObjectsV2Request().withBucketName("bucket").withPrefix("path_your_file_or_folder");
ListObjectsV2Result result = service.listObjectsV2(req)
for (S3ObjectSummary object: result .getObjectSummaries()){
    String key = object.getKey(); //your object it's here.
}

Получив ключ к вашему файлу, вы можете скачать его. Я надеюсь, это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...