【问题标题】:Automated static site client page creation with AWS Lambda使用 AWS Lambda 自动创建静态站点客户端页面
【发布时间】:2018-10-09 07:37:54
【问题描述】:

我希望从模板构建一些自动化的 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 Gateway 和 AWS Lambda 传入,我可以使用哪些应用程序来创建这些自定义页面?如何从事件数据创建自定义客户端页面?

流动

  • 通过网站的客户订单页面

  • 订购 JSON 数据通过 API Gateway 传递到 AWS Lambda

  • 独特的客户页面是从添加客户的模板创建的 网站 url、公司名称和他们产品的 URL 到 HTML页面(这个页面生成部分是我需要自动化的部分, 取决于客户的详细信息)

【问题讨论】:

  • 页面生成取决于您使用的解决方案,如何将 JSON 中的数据合并到模板中,因此您需要先选择一个,然后针对您在集成时遇到的具体问题提出问题

标签: javascript amazon-web-services aws-lambda hugo static-site


【解决方案1】:

假设:

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

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-19
      • 2022-07-20
      • 2019-11-07
      相关资源
      最近更新 更多