全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查

这篇文章花了好多的时间和精力,才来到你的身边,所以请好好的阅读!!!

文章目录

  • 一.了解亚马逊云
  • 二.创建lambda前的准备
  • 二.了解并创建lambda
  • 三.补充使用lamdba 的layers(层)
  • 四.将lamdba 和api geateway 关联起来,支持post ,get, 和传递参数
  • 五.测试接口
  • 六.总结

一.了解亚马逊云

什么是亚马逊云?亚马逊云和阿里云,腾讯云类似,都是服务器租赁平台,用户可以在这个平台上注册账号买服务器用来实现自己的日常的一些的需求。亚马逊云上有很多的服务,用的最多的还是下面图当中的一些:LAMBDA, API GATEWAY, RDS,EC2,还有就是S3。
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第1张图片
在这里我就不一一介绍这些东西了,百度一下都可以知道这些是什么东西。接下去我会重点介绍lambda 这个。

二.创建lambda前的准备

在创建lambda函数之前你还需要创建RDS(数据库),当然这个在前面你还需要创建一个亚马逊云的账号。
(一)创建数据库
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第2张图片
(二)选择mysql
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第3张图片
(三)选择模板为免费套餐,记住一定要选这个
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第4张图片
这个还是比较简单的,就是要看清楚他的选项,尤其是模板这个选项,他默认是生成模板,你要改成免费套餐,记住一定要改,一定要改,一定要改,楼主就在这边吃亏过,亚马逊云这边还是蛮坑的,要消费了不太会和你说的
下图就是创建好了的数据库实例
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第5张图片
重点知识:这边创建好的实例你是无法在他网页这边创建表啥的,你需要用到工具,例如navicat for mysql 等工具,在外部进行链接
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第6张图片
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第7张图片
连接上以后,你就可以建表,这边我建了demo 的数据库,然建了一张userInfo 的表,用来到时候做测试用的。
到这边为止,所有的准备工作都结束了!!!

二.了解并创建lambda

什么是lambds ?可以百度一下,百度说的应该要比我详细,要是懒的去找,可以点击这个链接 点我,总结一句话,这个就是无服务,比微服务还要高端,也有点类似小程序的云开发,
lambad 写函数,这边支持使用node,py,java 等语言,所以我们这边使用我们大前端的语言node,前端无敌,哈哈哈!!!
如果没基础的话,建议可以看看这篇文章 :点我 这篇文章写的还是很细致的,后续我们写的代码也是按照他的做法来写的。

第一步:创建函数
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第8张图片
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第9张图片
一般就是输入名字以后,点击创建函数就可以了
第二步:写代码
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第10张图片
你可以在这边写任意的js 代码,但格式必须要是这样,export const handler = async (event)=>{},不然他会报错。
这样写完之后,你可以点击下图中的测试:
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第11张图片
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第12张图片
这样一个简单的函数就写好了,然后在你每次修改完函数以后,保存完,记得要deploy 一下,不然测试的时候,还是上一个函数
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第13张图片

第三步:改代码
上面只是实现了一个比较简单的例子,我现在需要连接mysql ,这个时候就需要你用到node 的知识点了,同时你也需要了解node 如何连接mysql ,这边也不一一的详细说了,这边采用了上面文章的思路
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第14张图片
采用上传zip 的方式,下图是我在本地电脑上创建的一个包
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第15张图片
注意,这边package.json里面的name 必须要和你创建的函数名称要一致
创建完包以后,就把包用zip的方式上传
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第16张图片
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第17张图片
这边就是连接数据库的一些代码,这边就简单的写了一个查询的语句

第四步:再测试
和上面的步骤一样,点击以后就会出现这个,这样子数据就获取到了,开心!!!
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第18张图片

三.补充使用lamdba 的layers(层)

这个层就好比是统一资源管理工具一样,类似前端的一些公共的方法和资源存放的地方,这样我们在创建函数的时候,不需要特地的在函数中再引入一遍资源和方法了。

(一)点击左侧的层开始创建
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第19张图片
(二)创建层
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第20张图片
(三)填入层名和创建压缩包
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第21张图片
提示:这边特别要注意,这个压缩包其实就是你的一些node_modules, 然后一些公用的方法,看我下面的图片:
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第22张图片
这样子你的包大致就好了,但你还需要再外面包一层nodejs 的文件,至于为什么请看下面的图片
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第23张图片
我翻译翻译就是:你要有个nodejs的包,来告诉lamdba 现在是在node 环境下。于是这个包就变成了这样:
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第24张图片
(四)上传压缩包
把这个包压缩一下然后上传创建

(五)使用压缩包
点击函数的这个layers,会自动到下面添加层
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第25张图片
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第26张图片
(六)添加层
选择一个你刚才创建的层,然后添加,这样就关联上了
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第27张图片

(7)优化代码和函数结构
这样你就不需要每创建一个函数,又要在引入一遍相同的东西,很方便。
为什么用opt,这是写死的,因为lamdba 函数运行的环境在opt 文件夹下。

全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第28张图片
(8)测试
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第29张图片
你看这里我多了code 和msg ,是因为我统一封装了这个方法。

四.将lamdba 和api geateway 关联起来,支持post ,get, 和传递参数

上面的步骤,我们只是形成了一个内部测试用的,到后面还是要形成接口,供前端调用。emmm ,这话说的,有种大前端的感觉!!!
关联也很简单,
(一)先创建api
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第30张图片
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第31张图片
别的类型也可以去了解一下,百度一下,哈哈哈

(二)创建资源
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第32张图片
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第33张图片
(三)在资源下面创建方法,可以选择post ,get ,any 等不同类型
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第34张图片
下面的图就是我创建的api
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第35张图片

五.测试接口

全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第36张图片
本以为信心满满的,结果出了这个403 没权限,后面找了篇文章,里面说,在国内的亚马逊云需要备案过,国外就没有这个问题,文章链接
于是创建了工单:
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第37张图片
目前位置还在处理中,等待中。。。。
后续如下图,感觉也不会给我处理了,那只能另外找方法了
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第38张图片
另一条路 在api gateWay 中测试:
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第39张图片
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第40张图片
下图是带参数的
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第41张图片
在lamdba函数中就是这么获取和使用
全网详情 使用亚马逊云lamdba node 连接数据库并实现增删改查_第42张图片

六.总结

,亚马逊云一开始配置起来确实比较繁琐,很多东西都是没有接触过的,比小程序的云开发要复杂,但只有有官网和一些客服的技术支持,所以只需要花点时间,很多问题还是可以解决的!!!

你可能感兴趣的:(数据库,云计算,node.js)