简介
场景介绍基于云开发平台、Midway FaaS 和 云数据库RDS MySQL 版快速开发一个 Todo List。
背景知识
体验实验室
开发者通过场景化实验掌握云计算的what和how。免费云资源,真实云环境,丰富实践场景
地址:https://developer.aliyun.com/adc/labs/
什么是云开发平台?
云开发平台是阿里云所提供的一站式、全云端的开发平台,打开浏览器就可以开发、调试、上线。点击进入云开发平台。
什么是Midway FaaS?
一个用于构建 Node.js 云函数的 Serverless 框架,帮助开发者专注于产品开发,降低维护成本。
欢迎 Star! https://github.com/midwayjs/midway-faas
RDS数据库
阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。
创建应用
1.登录云开发平台。打开网址https://workbench.aliyun.com/,使用阿里云账号登录,按照提示创建团队,点击同意协议。没有阿里云账号的用户,在登录页面注册后进行登录即可。为了保证最好的使用体验,请使用Chrome浏览器。
2.创建应用。打开快速开始 https://workbench.aliyun.com/page/quickstart,点击创建新应用
3.云资源访问授权。如果您之前没有使用过云开发平台,会出现云资源授权管理的选项,往下拉出现直至同意授权的字样,点击「同意授权」后出现授权成功,点击进入「下一步」
同意授权并显示授权成功后点击下一步。
4.创建应用模板。分别选择开发语言NodeJS,通过模版创建。点击官方模版,选择Midway Serverless MySQL数据库示例应用模板,如图所示。
5.填写应用基本信息。按图示填写应用的名称和应用介绍、计算服务。没有产品可选点击旁边的自动创建产品线就会出现一个上海区域的产品了。信息填写完成后点击下一步。
6.云服务管理。查看应用依赖的云服务的开通情况,未开通的服务右键点击立即开通,在新标签打开所有服务开通页,根据提示一一开通。开通后应用卡片环境管理后面的小图标全部变成绿色的已开通对勾形状,才算完成应用的创建。
部署应用
上一节已经创建好了应用,本节介绍对应用进行开发部署流程。
1.进入开发。应用创建好以后会跳转到应用详情页,点击应用详情页上的 [开发部署] 进入CloudIDE开发界面。
2.安装依赖。点击 [终端],然后在终端输入框中输入以下命令 npm i 安装依赖。依赖包含的包比较多,全部下载需要一点时间,耐心等待即可,加载完毕后,可以看见以下图片中的提示。
npm i
3.进行部署。点击CloudIDE中的 [部署tab栏],然后点击 [部署] 开始部署。
4.确认部署信息。在弹出框中弹出的是该应用默认配置的数据库信息,不需要进行配置。如果长期使用配置自己的数据库,可以按照后续 “数据库设置”一节进行操作。点击[继续部署] 进入部署阶段。
5.日常环境 部署成功。日常环境 部署成功后如下图所示,可以使用附件中标注的临时域名进行访问测试。
6.临时域名访问。复制生成的临时域名进行访问,可以进入Todo list web应用界面。如果个人应用需要发到线上,绑定个人线上域名继续在「线上环境」部署即可
Todolist web应用界面显示的待办事项都是存储在默认配置好的数据库的数据库表中,将在后续 “数据库设置”一节中进行说明。
下线应用
- 函数计算弹性实例相关的云资源有一定的免费额度,额度消耗完成后会按量付费。如果不需要保留应用,请及时操作下线,以免产生不必要的费用,在该应用管理页面点击下线即可。
数据库设置
前面的章节使用的是应用内提供的的免费默认数据库,数据库配置有两种方式,一种是在开发平台设置,另外一种是在CloudIDE中进行配置,下面将分别介绍 。
1.在云开发平台中设置。
a) 在应用详情中,点击 [开发部署] ,然后再次点击[应用配置]打开配置页面。
在应用开发中,通常要使用一些敏感的信息去进行数据相关的操作,比如数据库连接信息、鉴权相关信息等等。如果将这些信息直接 hardcode 写在代码里,会带来潜在的因为代码泄漏而造成敏感信息跟着被泄漏的风险。为了降低这种风险,云开发平台推荐使用「环境变量」的方式来代替 hardcode 的做法。
b)修改环境变量。因为本项目设置了默认的环境变量,所以可以看见已经创建好了的数据库连接信息,您可以在该界面将数据库连接信息修改为您自己的RDS数据库,或者可以根据您自己的需求来创建其他的环境变量。
默认环境变量说明:
MIDWAY_RDS_HOST RDS 数据库连接地址
MIDWAY_RDS_PORT RDS 数据库连接端口
MIDWAY_RDS_DBNAME RDS 数据库名称
MIDWAY_RDS_USERNAME RDS 数据库账户名称
MIDWAY_RDS_PASSWORD RDS 数据库账户密码
2.或者,你也可以直接在代码中更改数据库连接配置。
首先查看数据库配置文件。参考以下附件的路径查看数据库配置文件 config.default.ts 。该应用默认程序内配置了默认数据库信息,如果需要开发您自己的应用需要在该配置文件中配置您自己的数据库信息。
3.Todolist应用的待办事项全部都是从数据库中“todo” 表中读取的,默认的数据库已经创建好了该表。如果您已经将数据库连接信息更改为了您自己的数据库,那么您需要在数您自己的据库中执行以下创建表的语句,对应的创建表的语句为:
CREATE TABLE `todo` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`todo` varchar(255) NOT NULL,
`status` int(11) NOT NULL,
`gmt_create` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8