Как реализовать AWS S3 Multipart Upload с использованием Rails и Active Storage? - PullRequest
1 голос
/ 09 июля 2019

Я использую vanilla Rails Active Storage для загрузки файлов с опцией множественного: true. Файлы хранятся на S3. Настройка работает хорошо. Однако я подумал, что для очень больших файлов было бы полезно реализовать Multipart Upload для оптимальной скорости и надежности.

Я нашел описание многочастной загрузки AWS S3 здесь: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html

Я также нашел страницу, специфичную для Ruby: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu-ruby-sdk.html

Однако я не смог найти никаких ссылок на то, как реализовать эту функцию с помощью Rails и Active Storage.

Я хотел бы получить руководство о том, как лучше всего реализовать многоэтапную загрузку, не отключая Active Storage, если это возможно.

1 Ответ

0 голосов
/ 10 июля 2019

В случае, если кто-то ищет ответ на этот вопрос. Active Storage будет поддерживать многочастную загрузку, начиная с Rails 6.1. Прямая загрузка Active Storage автоматически переключается на несколько частей для больших файлов. Никаких изменений настроек не требуется.

Вы можете настроить порог для того, что считается большим файлом. Значение по умолчанию составляет 100 МБ, и вы можете изменить значение по умолчанию, добавив его в ваш storage.yml в настройках Amazon: загрузить: multipart_threshold: <% = 250.megabytes%>

Ссылка: https://github.com/rails/rails/blob/master/activestorage/CHANGELOG.md

...