Ускорение загрузки видео в AWS S3: Cloudfront или ускорение передачи? - PullRequest
0 голосов
/ 30 октября 2019

Я загружаю видео прямо в корзину AWS S3, но загрузка кажется медленной даже для 10-секундного видео с iPhone. Пользователь на моем сайте загружает видео.

Шаг 1: Создать createPresignedPost на сервере

const AWS = require('aws-sdk');
s3 = new AWS.S3({apiVersion: '2006-03-01'});
AWS.config.update({keys, region});
var params = {
  Bucket: 'bucket',
  Fields: {
    key: fileNameKey
  },
  Expires: expireTime,
        Conditions: [
            ["content-length-range", 0, 500000000], // limit to 500 Mb
            [ "eq", "$acl", "public-read" ]
        ]
};

Это работает нормально, я отправляю presignedPostUrl обратно в браузер пользователя, затем пользователь загружает файл из браузера. Шаг 2:

let config = { headers: { 'Content-Type': 'multipart/form-data' } };
await axios.post(presignedPostUrl, formData, config)

И видео загружается нормально, просто медленно. 26 секунд для 60-секундного видео. Я попытался включить AWS s3 Ускорение передачи в консоли AWS, а затем инициализировать его при создании presignedPostUrl на шаге 1:

s3 = new AWS.S3({useAccelerateEndpoint: true, apiVersion: '2006-03-01'});

Загрузка видео, но примерно с той же скоростьюкак оригинальная загрузка. 60-секундное видео iPhone загружается за 30 секунд.

Правильно ли я это настраиваю? Будет ли загрузка через Cloudfront быстрее?

...