2015-09-27 11 views
0

Используя API-интерфейс Amazon REST, есть ли способ загрузить несколько файлов, возможно, в один ковш с помощью одной операции? Например, чтобы закрепить все объекты и загрузить их в виде одного файла?Загрузите несколько объектов с помощью одной операции от Amazon S3

Обратите внимание, что я ищу эффективность работы и нестандартные решения. Например, я должен был загрузить каждый отдельный файл из S3 и создать файл ZIP самостоятельно, операция может занять до 40 секунд для 100 файлов размером 1,5 МБ, я ищу решение, которое позволит мне сделать это менее чем за 10 секунд.

ответ

1

Нет вызова REST, который может сделать это в S3.

Как вы, несомненно, понимаете, пропускная способность передачи данных, вероятно, не объясняет большую часть времени настенных часов вашего процесса.

Наиболее вероятным решением было бы использовать либо несколько потоков, либо асинхронный ввод-вывод (в зависимости от вашего языка и среды) для отправки запросов на S3 в параллельных группах, объединяя результаты, когда все нужные объекты были успешно выполнены неправдоподобным.

Конечно, если то, что вы делаете, теперь не использует соединение агента пользователя, так что вы можете воспользоваться поддержкой HTTP-авитов, вы должны увидеть некоторый уровень повышения производительности, если вы можете включить эту функциональность, избегая ненужных повторных подключений (и, возможно, переговоров SSL).