Автоматическое создание статической клиентской страницы сайта с помощью AWS Lambda - PullRequest
0 голосов
/ 28 апреля 2018

Я хочу построить некоторые автоматизированные 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. Какие приложения я могу использовать для создания этих пользовательских страниц? Как я могу создать пользовательские страницы клиента из данных событий?

FLOW

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

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

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

Ответы [ 2 ]

0 голосов
/ 07 мая 2018

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

0 голосов
/ 07 мая 2018

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

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

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

...