Автоматическое создание клиентской страницы статического сайта с помощью AWS Lambda

Я хочу создать несколько автоматизированных клиентских HTML-страниц из шаблона, такого как mysite.com/clientpage. Сгенерированная страница будет содержать URL-адрес их веб-сайта, название компании и портфолио их продуктов, которые поступают из уникального файла JSON, который они отправляют на наш сервер. Шаблон клиентской страницы, который я использую, построен в Bootstrap 4 и использует Angular 1 для вывода клиентских продуктов из их канала JSON. Мы просто меняем некоторые поля в шаблоне, а затем страница переименовывается в название компании. (например, mysite.com/clientname.html)

Я изо всех сил пытаюсь придумать инфраструктурное решение, которое будет автоматически использовать данные о событиях заказа и генерировать уникальную страницу сайта. У меня были идеи для создания этих сайтов с использованием SSH (Paramiko) в Lambda, выполняя некоторые задачи SSH в шаблоне, размещая шаблон на GitHub и редактируя его каждый раз, а затем развертывая, размещая страницы Wordpress и т. Д.

Существует огромное количество генераторов статических сайтов, таких как Hugo, GatsbyJS, Assembly, но я не уверен, как связать их с данными событий для каждого клиентского заказа.

Данные о событиях заказа поступают через API Gateway и AWS Lambda. Какие приложения можно использовать для создания этих настраиваемых страниц? Как я могу создавать собственные клиентские страницы из данных событий?

ПОТОК

  • Страница заказов клиентов через веб-сайт

  • Заказ данных JSON, передаваемых в AWS Lambda через API Gateway

  • Уникальная страница клиента создается из шаблона, добавляющего URL-адрес веб-сайта клиентов, название компании и URL-адрес их фида продуктов на HTML-страницу (эта часть создания страницы является частью, которую мне нужно автоматизировать, в зависимости от данных клиента)


person sigur7    schedule 28.04.2018    source источник
comment
Генерация страницы будет зависеть от решения, которое вы использовали, от того, как вы объединяете данные в JSON с шаблоном, поэтому вам нужно сначала выбрать один, а затем задать вопрос по конкретной проблеме, с которой вы столкнулись при его интеграции.   -  person Tarun Lalwani    schedule 01.05.2018


Ответы (2)


Предположения:

  1. Страницы должны быть статичными (поместить данные в БД, и кажется, что оттуда будет довольно прямолинейное веб-приложение)
  2. Веб-сайт размещен на AWS, и именно здесь должны создаваться статические страницы.
  3. Вы будете обрабатывать резервное копирование этих статических страниц каким-либо образом, не связанным с этим решением.

Вы будете использовать либо фоновый процесс, либо процесс запроса. Это будет иметь более надежную нагрузку на вашу среду, если вы настроите задание CRON для обработки создания страниц, чем если вы будете реагировать на события. Поэтому я бы рекомендовал это, не зная больше о ваших конкретных требованиях.

person Patrick O'Hara    schedule 07.05.2018

Вы можете использовать любой шаблонизатор, например ejs, и выгружать результат в s3.

person Noel Llevares    schedule 07.05.2018