Ошибка запроса на повторную отправку пакета 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. Существует также ограничение на максимальный размер загрузки на файл. Пожалуйста, посмотрите на это.

Другие вопросы по тегам