Skip to content

AWS: 在AWS上创建一个网站,综合运用(Lambda + Api Gateway + Dynamodb + S3)

AWS: 在AWS上创建一个网站,综合运用(Lambda + Api Gateway + Dynamodb + S3)

简介

本文将创建一个微型网站,以达到综合运用AWS服务的目的:

1.Dynamodb:一种完全托管的NoSQL数据库服务

2.Lambda:实现具体的业务逻辑,基于python3编写,它会调用dynamodb数据库。

3.API Gateway:一种完全托管的服务,可以帮助开发者轻松创建、发布、维护、监控和保护任意规模的API。

4.S3:Host一个较为简单的静态网站,并调用开放出来的REST API

1.创建Dynamodb

新建一张表(employee),以name为Primary key(partial key),再新增两行数据,如下图所示:

2.编写Lambda逻辑

2.1创建一个Lambda名为conglambda

2.2 lambda_function.py

lambda_function.lambda_handler作为入口函数,它会调用dynamodb.

2.3 DynamoDBService.py

此模块会使用boto3调用dynamodb,其中AWS_ACCESS_ID和AWS_ACCESS_KEY可以在IAM—>Users–>Security credentials–>Create access key创建。

2.4 employee.py

相当于一个model类或是一个Dto类。

3.创建一个API Gateway

命令为congAPI,在resources中创建一个新的Method,选择Get,选择刚创建的lambda

接下来,我们需要给API Gateway传递参数,点击Integration Request–>Mapping Templates中,输入如下内容,以便可以传入name参数给api gateway。

编辑好后,需要部署API Gateway,点击Deploy API

输入Dev,点击发布,会生成如下链接

我们在浏览器上输入相应的name参数,就可以成功访问到相应的数据了,此数据来源于dynamodb.

4.使用S3服务host一个较为简单的静态网站

4.1准备index.html

它会使用jquery调用刚才创建的api gateway,具体内容如下:

4.2创建一个S3 bucket名为cong-bucket

上传此index.html

4.3将Permissions设置为public,以便公网可以访问到index.html

首先将Bock public access下面的4行全部改成off

将Bucket改成public有多种方式,这里使用Bucket Policy。即所有人都可以访问,如下图:

4.4启用bucket hosting,将host一个较为简单的静态网站

4.5验证与测试

访问此网站,输入name,点击search,可以看到根据输入的不同,从数据库中抓取相应的内容并显示在网页上


相关推荐: 通过LinkedIn新的网站人口统计功能可以做3件很棒的事

最近,LinkedIn推出了新的网站人口统计功能,该功能允许任何拥有LinkedIn广告帐户的企业更好地识别究竟是谁来到他们的网站。尽管多年来Google Analytics(分析)显示,我们汇总了会话,综合浏览量等数据,但我们实际上并不知道是谁组成了这些指标…

    码刀科技(www.lekshop.cn)是国内知名企业级电商平台提供商,为企业级商家提供最佳的电商平台搭建(多种模式电商平台搭建:B2B/B2B2C/B2C/O2O/新零售/跨境等)、平台管理系统开发及互联网采购解决方案服务, 联系客服了解更多.

    电子商务网站建设的重要性和好处