Загрузите видео в корзину S3, детали видео в базу данных динамо, используя функцию лямбды - PullRequest
1 голос
/ 17 апреля 2020

Мы создаем приложение для загрузки и потокового видео. Планировалось использовать функции AWS S3 и AWS Lambda, Dynamo DB и AWS API Gateway для загрузки видео. Мы должны хранить все детали видеофайла, например: данные пользователя в таблице динамо-базы.

Но мы можем найти некоторые ограничения в API Gateway для загрузки больших видеофайлов. Итак, как лучше всего загрузить видео в S3 Bucket?

1 Ответ

1 голос
/ 17 апреля 2020

Вы можете загружать файлы напрямую в S3, используя предварительно назначенные URL . Используя предопределенные URL-адреса, вы сохраняете свой контейнер закрытым.

Это можно сделать из клиента (веб-браузера) и сохранить ключ S3 или URL-адрес в DynamoDB с помощью API Gateway, если хотите.

Такой подход уменьшит нагрузку на ваши AWS серверы, что желательно.

Полное решение может быть примерно таким:

  • Вызовите API Gateway, чтобы получить заранее назначенный URL для загрузки видео
  • Клиент (веб-браузер) выполняет загрузка с использованием предварительно назначенного URL-адреса, который он получил
  • Вызов API-шлюза для уведомления о завершении загрузки, вызов лямбды, сохранение данных в DynamoDB

При желании вы можете запустить лямбду, добавив файл на S3, который выполняет дальнейшую обработку видео (например, запустив задание конвертации мультимедиа)

...