使用 AWS Lambda 自动创建静态站点客户端页面

Automated static site client page creation with AWS Lambda

我希望从模板构建一些自动化的 HTML 客户端页面,例如 mysite。com/clientpage。生成的页面将包含他们的网站 url、公司名称和他们的产品组合,这些产品组合来自他们发送到我们服务器的唯一 JSON 文件。我使用的客户页面模板内置于 Bootstrap 4 中,并使用 Angular 1 从他们的 JSON 提要中输出客户产品。我们只是更改了模板中的一些字段,然后将页面重命名为他们的公司名称。 (例如 mysite.com/clientname.html)

我正在努力想出一个基础设施解决方案,该解决方案将获取他们的订单事件数据并生成他们独特的网站页面,所有这些都是自动化的。我有在 Lambda 中使用 SSH(Paramiko) 生成这些站点的想法,在模板上执行一些 SSH 任务,在 GitHub 上托管模板并每次编辑它,然后部署,托管 Wordpress 页面等

有大量静态站点生成器,例如 Hugo、GatsbyJS、Assembly,但我不确定如何将它们绑定到每个客户订单的事件数据中。

订单事件数据通过 API 网关和 AWS Lambda 传入,我可以使用哪些应用程序来创建这些自定义页面?我如何从事件数据创建自定义客户端页面?

流量

假设:

  1. 页面必须是静态的(将数据放在数据库中,从那里看起来它会是非常直接的 Web 应用程序)
  2. 该网站托管在 AWS 上,应在此处创建静态页面。
  3. 您将以某种与此解决方案无关的方式处理备份这些静态页面

您将使用后台进程或请求进程。如果您设置 CRON 作业来处理页面创建,那么如果您响应事件,它将对您的环境产生更可靠的负载。所以我建议在不了解您的具体要求的情况下。

您可以使用任何模板引擎,例如 ejs 并将输出转储到 s3。