Джерело:
Хабрахабр:
Дата публікації:
15/09/2021 08:00
Постійна адреса новини:
http://www.vsinovyny.com/8230284
15/09/2021 08:00 // Хабрахабр:
В одном из проектов встала следующая задача: пользователь загружает пачку файлов через клиента (CloudBerry Explorer, к примеру) в S3 бакет, мы копируем эти файлы в архив и шлем SNS уведомление о том, что все сделано. Перекладывать файлы в архив нужно начинать только тогда, когда пользователь загрузит все, что хотел. Пользователей мало и загружают батчи они довольно редко. Но файлов может быть много.
Чтобы понять, что пора начинать архивацию, зададим определенную структуру каталогов и будем просить пользователя загружать триггер-файлы с расширением .trigger когда он закончит. Этакая эмуляция кнопки Done. Структура каталогов будет такой:
...
Как видим, для каждой пачки создается свой каталог с подкаталогом files, в который и заливаются уже пользовательские файлы с каталогами и именами, которые он хочет. Триггер-файл загружается в и по ключу этого файла можно понять какие конкретно файлы нужно отправить в архив. Но здесь есть один нюанс, мы хотим при копировании в архив вырезать каталог files. Т.е. файл скопировать в .
К счастью, S3 позволяет отслеживать загрузку файлов с определенным суффиксом и отправлять уведомления при наструплении этого события. В качестве получаетеля этих уведомлений можно указать аж 3 сервиса: SNS, SQS и Lambda-функцию. Но тут не без нюансов. Так, первые 2 типа поддерживают только стандартные очереди и SNS, а FIFO не поддерживают, увы.
Читать далее| « |
Наступна новина з архіву Дерби Херсонщины: его победитель стал лучшим тренером 8 тура во Второй лиге |
Попередня новина з архіву Генпрокурора Гаїті звільнили після висунення ним обвинувачень проти прем'єра |
» | |
|
|
||||