Amazon S3 — Your proposed upload is smaller than the minimum allowed size

Задача: При попытке загрузить файл с использованием Amazon S3 API получил ошибку

Your proposed upload is smaller than the minimum allowed size

Инструменты: С#, AWSSDK.S3 package

Решение: Код выгрузки части файла выглядит следующим образом:

...
await s3Client.UploadPartAsync(new UploadPartRequest
  {
    Key = key,
    BucketName = bucketName,
    UploadId = uploadId,
    InputStream = stream,
    PartNumber = partNumber
  }
  ,cancellationToken);
...

Как оказалось, если выгружать часть файла, тогда есть ограничения на размер всех частей, кроме последней, и оно составляет 5Мб. В моем случае размер был меньше и в результате я получил следующее сообщение об ошибке:

Your proposed upload is smaller than the minimum allowed size

В документации к Amazon S3 Api — CompleteMultipartUpload написано следующее:

  • Error code: EntityTooSmall
    • Description: Your proposed upload is smaller than the minimum allowed object size. Each part must be at least 5 MB in size, except the last part.
    • 400 Bad Request

Так что решение — использовать блоки 5 Мб и больше для выгрузки частей файла

0

Добавить комментарий