В AWS теперь есть несколько разных способов сделать это:
- Самое новое ( возможно самое крутое! ) - это использование Cloudfront для запуска вашего кода с использованием их Лямбда @ Край сервис.Вы можете полностью настроить свой URL-путь и использовать его в качестве переменных, как и любую другую конечную точку REST.Вы присоединяете свой Lambda FN к конечным точкам «поведения», которые дают вам полный контроль над URL.Это довольно глубоко и выходит за рамки вашего вопроса, чтобы объяснить все это здесь, но прочитайте документы по предоставленной ссылке, и вы, вероятно, увидите много вещей, которые вам нравятся.
- Еще один старый, более дорогой, но болеедокументированный метод - использовать AWS API Gateway , как вы указали в тегах вашего вопроса.Он имеет отличную внешнюю консоль и легко подключает конечные точки API к логике Lambda, подключая их к методам REST.Консоль поможет вам «изменить размер» вашего URL с данными поля формы.Этот сервис помогает вам больше всего с пользовательскими доменами для запуска.Настройка пользовательских доменов очень проста в API Gateway.Обязательно используйте AWS Диспетчер сертификатов SSL для бесплатных сертификатов SSL и в своем пользовательском домене!
Способ настройки конечных точек зависит от того, какую службу вы выберете.Лично, учитывая ваше желание обслуживать различные типы контента, я бы склонялся к CloudFront и определил URL-адрес «поведения» для вашего динамического лямбда-контента.Если запрос URL-адреса не соответствует одному из определенных вами вариантов поведения, по умолчанию используется кэш / источник Cloudfront для обслуживания ваших статических активов (somefile.txt).Только совпадения отправляются на ваш привязанный лямбда-фн с данными формы. Очень гладко!
Множество примеров Lambda @ Edge fn's доступны здесь .
Я использовал оба и у меня есть клиенты на обоих.Lambda @ Edge смехотворно быстрее и дешевле, НО менее документирован, имеет более крутой курс обучения и консоль не так полезна.Я бы честно попробовал и то, и другое, чтобы понять, какая из них лучше всего подходит для вашей ситуации и уровня опыта.Оба выполнят свою работу.EC2 наиболее определенно НЕ необходим (, и, возможно, ).Надеюсь, это поможет - удачи!