JavaScript AWS SDK для S3, быстрые ошибки "Bad Request" - PullRequest
0 голосов
/ 12 июня 2018

Я использую метод AWS.S3.upload со следующими аргументами:


var params = {
   Bucket: bucket,
   Key: fileKey,
   Body: file.slice(0, file.size+1)
};

var options = {
   partSize: megabytes * 1024 * 1024,
   queueSize: concurrentChunks
};

Примечание: я пытался использовать queueSize в диапазоне от 1 до 8 и мегабайт на чанкот 5 до 10, тот же вопрос.Я использую следующий SDK: https://sdk.amazonaws.com/js/aws-sdk-2.250.1.min.js

Итак, прежде всего, я хочу прояснить, что загрузка с этим методом успешно, даже для файла 3 ГБ.Однако каждые несколько секунд он выдает следующую ошибку несколько раз подряд и сбрасывает прогресс загрузки на 3-6% (видно из события httpUploadProgress в объекте менеджера загрузки):


PUT https://{bucket}.s3-accelerate.amazonaws.com/
{Identifier}/de2f2734512e9f4faf7b9ee333847697?
partNumber={partNum}&uploadId={uploadId} 400 (Bad Request)

Таким образом, несмотря на то, что загрузка имеет положительный прогресс, поскольку она загружается на 8-15% до нежелательного спама, это происходит намного медленнее, чем могло бы быть, если бы этого не происходило.(Примечание: физическая причина, по которой он удаляется, заключается в том, что сообщается о ходе частичной загрузки чанка, а при сбое весь чанк должен повторно загружаться.) Также вызывает тревогу появление сотен и сотен ошибок PUT в консоли во время загрузки.

Просматривая заголовки ответов на любой из проблемных запросов в инструментах разработчика браузера, я вижу следующее: «X-Cache: ошибка из облака».Анализируя сетевой трафик, я обнаружил, что 5-8 запросов пройдут успешно, а затем 1-5 неудачных запросов.Иногда он чередуется с 1 успешным, 1 неудачным, 1 успешным ... и т. Д.

Любые идеи о том, что происходит, если это моя ошибка или проблема с облачным фронтом, как указано в заголовке ответа, и кудаидти отсюда?

Спасибо!(Примечание. Сначала я опубликовал это на форуме Amazon AWS, но на этот форум, похоже, почти нет трафика.)

...