dynamic网站使用AWS

我想要使​​用AWS无服务器托pipe一个dynamic网站。 我打算使用Lambda,API网关,DynamoDB和S3。 我的前端页面将驻留在S3中。 拦截器是会有一些dynamic的项目,如用户名和其他元数据将是用户特定的。 我知道到目前为止,我们能做的最好的事情就是从S3中拉出html页面。 那么我如何继续并在这些页面中包含这些variables?

我将在NodeJS中编写lambda。

你的HTML(静态页面)应该有所有的input字段(在你的情况下用户名和元数据)。 您可以使用任何侧面的JavaScript库来从这些input字段中取值。 即使你可以使用经典的JavaScript(如document.getElementById)从input字段获取值,但即使它工作,这将是相当古老的做法。一旦你采取了所需的值,那么你可以编写JSON来调用lambdafunction通过API网关。 尽pipeS3只支持静态网站托pipe,但是您可以在HTML中编写JavaScript代码,而不会将其视为dynamic(如C#,Java等)。

重要的是你可以通过你在S3中托pipe的静态页面中的JavaScript实现任何东西,并以你的Api网关/ Lambda期望的方式组合适当的Json。

你提到的阻止dynamic项目,如用户名和其他元数据 。 您可以使用AngularJS或其他框架来处理应用程序中的dynamicvariables。

您也可以使用AWS Cognito进行身份validation。

例如,AWS S3适合以前端为例。

对于api我使用Aws ECS中的docker容器中的nodejs。

对于像你这样的无服务器网站来说,你需要区分静态内容和dynamic内容。

静态内容,如HTML页面,Javascript文件,CSS可以托pipe在S3存储桶中。

对于dynamic项目,您可以使用Javascript或任何JS框架,并使用它与一些返回dynamic数据的lambda进行交互。 这些lambda可以连接到API网关。

如果要将数据存储到数据库并将其检索到数据库,则可以使用DynamoDB或RDS实例,这样就不需要pipe理任何服务器

如果只是身份validation,则可以使用AWS Cognito。