Ошибка запроса на повторную отправку пакета SDK Javascript AWS S3
Я использую AWS S3 Javascript SDK для загрузки файлов в мое хранилище S3 через браузер. У меня не было проблем с загрузкой файлов или загрузкой небольших и даже огромных файлов с загрузкой из нескольких частей.
Проблема, с которой я столкнулся, была при загрузке огромного файла и разрыве моего соединения между ними. После того, как соединение вернулось, запрос был отправлен повторно для загрузки оставшихся частей, но не удалось.
Я приложил скриншот неудавшихся запросов
Любая причина, почему это не удается, или каким-либо образом это может быть обработано / решено?
1 ответ
Когда вы загружаете огромный набор данных, вы можете попробовать включить класс ManagedUpload для загрузки из нескольких частей. Однако вам нужно указать размер корзины. Пример кода этого документа:
var upload = new AWS.S3.ManagedUpload({
partSize: 10 * 1024 * 1024, queueSize: 1,
params: {Bucket: 'bucket', Key: 'key', Body: stream}
});
Где partSize
(Число), по умолчанию это значение 5mb
Размер в байтах для каждой отдельной части, которая будет загружена.
В GitHub есть также проект с открытым исходным кодом: многокомпонентная загрузка AWS S3 из браузера, написанная на JavaScript и PHP, которая позволяет загружать огромные файлы напрямую на сервер Amazon S3 кусками по 5 МБ, поэтому его можно восстанавливать и легко восстанавливать из ошибка.
Предполагая, что для использования вышеуказанного плагина, вам, возможно, придется использовать PHP. Существует также ограничение на максимальный размер загрузки на файл. Пожалуйста, посмотрите на это.