代替
(A) 采用更传统的方式在 AWS 上运行 Web 应用程序(例如,在 AWS EC2 或 Beanstalk 上使用 Ruby/Sinatra 或 Python/Flask),或
(C) 在 S3 中创建静态 HTML 和 JavaScript 文件,在 AWS Lambda 中创建动态 API 端点(将 JSON 数据发送到那些通过 JavaScript 使用/解释该数据的静态网页),
我想达到一个中间立场:
- (B) 在 AWS Lambda 中创建 HTTP 端点(例如,在 Python 中),这些端点读取和使用 HTML 模板来生成对客户端的完整 HTML 响应。
该设置将生成一个无服务器 Web 应用程序,其中 AWS Lambda 函数提供服务器端(讽刺的是我并没有忘记)生成的 HTML 输出。
在 AWS Lambda 函数的 Python 代码中,可以包含 HTML 代码片段,在函数中修改(填充数据),并将 HTML 作为text/html
输出返回给客户端。这种方法的缺点是 HTML 模板随后被“嵌入”在 Python 代码中,而不是外部的单独文件中。
Q1:如何在代码包的某个地方引用 HTML 模板文件 - 模板应该是包的一部分 - 让 Python 函数读取它,并通过模板中的变量替换生成 HMTL 页面?
Q2:如何使用 AWS 无服务器应用程序模型 (AWS SAM) 在我的项目中指定/包含/链接到一组 HTML 模板文件?