aws api gateway 用Lambda和DynamoDB建立一个CRUD API

在本教程中,你将创建一个无服务器API,从DynamoDB表中创建、读取、更新和删除项目。DynamoDB是一个全面管理的NoSQL数据库服务,提供快速、可预测的性能和无缝扩展性。本教程大约需要30分钟来完成,你可以在AWS免费层内完成。
首先,你使用DynamoDB控制台创建一个DynamoDB表。然后,你使用AWS Lambda控制台创建一个Lambda函数。接下来,你使用API网关控制台创建一个HTTP API。最后,你测试你的API。
当你调用你的HTTP API时,API Gateway将请求路由到你的Lambda函数。Lambda函数与DynamoDB交互,并向API Gateway返回一个响应。然后API Gateway向你返回一个响应。
在这里插入图片描述
要完成这个练习,你需要一个AWS账户和一个有控制台访问权的AWS身份和访问管理用户。欲了解更多信息,请参阅开始使用API网关的先决条件。

第1步:创建一个DynamoDB表

你使用DynamoDB表来为你的API存储数据。
每个项目都有一个唯一的ID,我们用它作为表的分区键。
要创建一个DynamoDB表
1.在https://console.aws.amazon.com/dynamodb/,打开DynamoDB控制台。
2.选择创建表。
3.对于表名,输入http-crud-tutorial-items。
4.对于主键,输入id。
5.选择创建。

第2步:创建一个Lambda函数

你为你的API的后端创建一个Lambda函数。这个Lambda函数从DynamoDB创建、读取、更新和删除项目。该函数使用来自API Gateway的事件来决定如何与DynamoDB互动。为了简单起见,本教程使用一个Lambda函数。作为一个最佳实践,你应该为每个路由创建单独的函数。
要创建一个Lambda函数
1.登录Lambda控制台,https://console.aws.amazon.com/lambda。
2.选择创建函数。
3.在函数名称中,输入http-crud-tutorial-function。
4.在Permissions下选择Change default execution role。
5.选择从AWS策略模板中创建一个新角色。
6.对于角色名称,输入http-crud-tutorial-role。
7.对于策略模板,选择简单微服务权限。该策略授予Lambda函数与DynamoDB交互的权限。

第3步:创建一个HTTP API

HTTP API为你的Lambda函数提供一个HTTP端点。在这一步,你创建一个空的API。在接下来的步骤中,你将配置路由和集成,以连接你的API和你的Lambda函数。
要创建一个HTTP API
1.登录API网关控制台,https://console.aws.amazon.com/apigateway。
2.选择创建API,然后在HTTP API中选择构建。
3.对于API名称,输入http-crud-tutorial-api。
4.选择下一步。
5.对于配置路由,选择 "下一步 "以跳过路由创建。你以后会创建路由。
6.查看API Gateway为你创建的阶段,然后选择下一步。
7.选择创建。

第4步:创建路由

路由是一种将传入的API请求发送到后端资源的方式。路由由两部分组成:一个HTTP方法和一个资源路径,例如,GET /items。对于这个例子的API,我们创建了四个路由。

GET /items/{id}
GET /items
PUT /items
DELETE /items/{id}

要创建路线
1.登录API网关控制台,https://console.aws.amazon.com/apigateway。
2.选择你的API。
3.选择路线。
4.选择创建。
5.在方法上,选择GET。
6.在路径中,输入/items/{id}。路径末尾的{id}是一个路径参数,当客户发出请求时,API Gateway会从请求路径中检索出来。
7.选择创建。
8.对GET /items、DELETE /items/{id}和PUT /items重复步骤4-7。
在这里插入图片描述

第5步:创建一个集成

你创建一个集成来连接路由和后端资源。对于这个例子的API,你创建一个Lambda集成,用于所有路由。
要创建一个集成
1.登录API网关控制台,https://console.aws.amazon.com/apigateway。
2.选择你的API。
3.选择集成。
4.选择管理整合,然后选择创建。
5.跳过把这个集成附加到一个路由。你在后面的步骤中完成。
6.在集成类型中,选择Lambda函数。
7.对于Lambda函数,输入http-crud-tutorial-function。
8.选择创建。

第6步:将你的整合附在路线上

对于这个例子的API,你对所有的路由使用相同的Lambda集成。在你将集成附加到API的所有路由后,当客户端调用你的任何路由时,你的Lambda函数就会被调用。
要把集成附加到路线上
1.登录API网关控制台:https://console.aws.amazon.com/apigateway。
2.选择你的API。
3.选择集成。
4.选择一个路线。
5.在选择一个现有的集成下,选择http-crud-tutorial-function。
6.选择附加集成。
7.对所有路线重复步骤4-6。
所有路线都显示连接了AWS Lambda集成。
在这里插入图片描述
现在你有了一个带有路由和集成的HTTP API,你可以测试你的API。

第7步:测试你的API

为了确保你的API是工作的,你使用curl。
要获得调用你的API的URL
1.登录到API网关控制台,https://console.aws.amazon.com/apigateway。
2.选择你的API。
3.注意你的API的调用URL。它出现在详细信息页面的调用URL下。
在这里插入图片描述
以上就是aws api gateway 用Lambda和DynamoDB建立一个CRUD API
的一些问题了。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值