Я загружаю видео прямо в корзину 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 быстрее?