#amazon-web-services #amazon-s3 #aws-lambda
#amazon-web-services #amazon-s3 #aws-lambda
Вопрос:
Здравствуйте, я работаю над приложением, в котором пользователь может загружать свое собственное видео (да, как Tiktok). Я использую прямую загрузку с предварительной подписью с использованием маршрута PUT для максимальной скорости загрузки.
Мой вопрос в том, как мне действительно ограничить размер файла, который мой пользователь может загружать для видео?
Решение, которое я придумал, — использовать lambda для проверки длины содержимого объекта, который был загружен. Но, насколько я знаю, в заголовке клиента были установлены свойства content-length. Что делать, если длина содержимого в заголовке и фактический размер файла, загруженного на s3, не совпадают? Возможно ли вообще, что кто-то может сделать это с помощью загрузки?
Комментарии:
1. Связанные: forums.aws.amazon.com/thread.jspa?threadID=12887
Ответ №1:
Решение, которое я придумал, — использовать lambda для проверки длины содержимого объекта, который был загружен.
Альтернативой является set content-length-range matching POST policy
.
Что делать, если длина содержимого в заголовке и фактический размер файла, загруженного на s3, не совпадают
Не уверен, почему это может произойти, но помимо использования свойства content-length, многочастную загрузку тоже стоит рассмотреть. Это просто серия регулярных запросов. Вы инициируете загрузку из нескольких частей, отправляете один или несколько запросов на загрузку частей, а затем завершаете процесс загрузки из нескольких частей. Вы подписываете каждый запрос индивидуально.