Мне нужно написать код на языке реагирования, который позволяет пользователю загружать видео на amazon s3 для перекодирования для использования на различных устройствах. Для обработки после загрузки; Я рассматриваю два подхода:
1) Я могу использовать Lambda с ffmpeg для обработки перекодирования сразу после загрузки (я опасаюсь, что это будет время, необходимое для перекодирования видео, и влияние на цену, если это займет значительное количество времени).
2) Я могу сделать так, чтобы s3 передал сообщение sns в оставшийся API после того, как произойдет созданное событие, а остальные API сгенерируют сообщение rabbitmq, которое будет обработано рабочим, который выполнит транскодирование с использованием ffmpeg.
Вариант 1) кажется предпочтительным с точки зрения времени завершения. Насколько я должен быть обеспокоен использованием 1) с учетом того, сколько времени может занять перекодирование видео по сравнению с вариантом 2)?
Кроме того, несмотря ни на что, мне нужен способ передачи дополнительных параметров в лямбду или через сообщения sns, которые позволили бы мне каким-то образом связать пользователя, загрузившего видео, с его учетной записью. Есть ли способ передать дополнительные текстовые значения в s3, чтобы передать их лямбда или sns, когда загрузка завершится, в качестве предостережения я планирую загрузить видео непосредственно в s3, используя оставшийся слой (нашел этот ответ здесь: http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPUT.html#RESTObjectPUT-responses-examples)?