Добавление корзины s3 в качестве объема докера - PullRequest
0 голосов
/ 11 октября 2018

У меня есть одно приложение весенней загрузки, которое находится в нашем внутреннем центре обработки данных, которое обрабатывает файлы из определенной папки на хосте.

мы хотели развернуть это в aws и хотели использовать корзину s3 для загрузки файловдля обработки.

есть ли способ добавить пространство корзины s3 в качестве тома докера?

Ответы [ 3 ]

0 голосов
/ 11 октября 2018

S3 - это хранилище объектов, а не файловая система.Вам нужно, чтобы S3 инициировал сообщение в SQS, когда новые объекты добавляются в корзину.Затем вы можете закодировать приложение, запущенное в контейнере Docker, для опроса SQS на наличие новых сообщений и использования местоположения S3 в сообщении, чтобы скопировать объект из S3 в локальное хранилище (используя соответствующий AWS SDK) для обработки.

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

В других ответах правильно указывалось, что: AWS S3 - это хранилище объектов, и вы не можете смонтировать его как том в докер.

При этом использование S3 с приложением пружины супер просто, и есть фреймворкразработан под названием spring-cloud.spring-cloud отлично работает с AWS.

Вот пример кода:

public void uploadFiles(File file, String s3Url) throws IOException {
   WritableResource resource = (WritableResource) resourceLoader.getResource(s3Url);

   try (OutputStream outputStream = resource.getOutputStream()) {
       Files.copy(file.toPath(), outputStream);
   }
}

Подробный блог вы можете найти здесь .

0 голосов
/ 11 октября 2018

Нет тома док-станции для монтажа дисков на машине (https://docs.docker.com/storage/volumes/)

. Вы можете использовать API S3 для управления вашей корзиной из контейнера док-станции (https://docs.aws.amazon.com/AmazonS3/latest/API/Welcome.html)

...