У меня есть приложение, которое требует создания сжатого файла из разных объектов, сохраненных в S3
.Проблема, с которой я сталкиваюсь, заключается в том, что я хотел бы сжимать объекты на лету, не загружая файлы в контейнер, и выполнять сжатие.Причина в том, что размер файлов может быть довольно большим, и я могу легко исчерпать дисковое пространство и, конечно, будет дополнительное время загрузки файлов на диск, сжатия их и загрузки сжатого файла в * 1002.* очередной раз.
Стоит отметить, что я хотел бы найти файлы в выходном сжатом файле в разных каталогах, поэтому, когда пользователь распаковывает файл, он видит, что он хранится в разных папках.
Так как S3
не имеет концепции физической структуры папок, я не уверен, возможно ли это и есть ли лучший способ, чем загрузка / выгрузка файлов.
ПРИМЕЧАНИЕ
Моя проблема не в том, как использовать AWS Lambda для экспорта набора больших файлов.Речь идет о том, как я могу экспортировать файлы из S3
без загрузки объектов на локальный диск, а также создать zip-файл и загрузить в S3
.Я хотел бы просто сжать файлы на S3
на лету и, что наиболее важно, иметь возможность настроить структуру каталогов.
Например,
inputs:
big-file1
big-file2
big-file3
...
output:
big-zip.zip
with the directory structure of:
images/big-file1
images/big-file2
videos/big-file3
...