Модернизация + AWS S3 - Предопределенный URL для загрузки нескольких изображений. Должен ли я использовать al oop для запросов PUT? - PullRequest
1 голос
/ 11 января 2020

У меня есть AWS лямбда-функция, для которой пользователь делает GET request, и он возвращает предопределенный URL. Затем пользователь загружает изображение, отправляя запрос PUT на этот URL. Поскольку AWS S3 PUT requests ограничивает загрузку объектов одним URL-адресом,

Как отправить несколько изображений? Должен ли я использовать al oop на текущем количестве изображений, например:

Скажем, пользователь хочет загрузить 5 изображений.

for(...5 images...){
   Make GET request to generate URL
   In the callback method, 
   Make a PUT request to the generated URL to upload image
} 

Я не уверен, должен ли сервис использоваться таким образом. И это также вызывает другую проблему, скажем, что если я хочу, чтобы все изображения были загружены и сохранены в моей БД, или ни одно из них не было сохранено. Поскольку в лямбда-функции PUT request's после обработки я хочу сохранить URL-адрес изображения S3 в моей базе данных, как мне обеспечить загрузку всех изображений, а не только 3/5 из них в случае сбоя в сети?

1 Ответ

2 голосов
/ 11 января 2020

Вы правы. Предварительно назначенный URL-адрес создается специально для загрузки одного файла.

Если вы хотите реализовать такое поведение atomi c, когда все файлы загружены или не загружены, вам нужно реализовать такие логики c самостоятельно.

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

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