阿里云云开发平台校园合伙人招募 主要提供了 云开发平台 进行 Web 开发的体验,包括以下内容:
认识 Serverless 云开发 (8.3) :学习云开发平台的基本概念和操作、团队协同、应用的开发、部署
云函数 (8.4) :函数的基础概念,架构,调用方式、静态文件的托管方式
开发Web接口 (8.5):学习使用函数开发 Web 接口、多个函数的同时开发,资源复用
服务端渲染 (8.6):学习使用函数接入传统 koa 中间件,构建 Web 应用
数据库调用 (8.7):学习接入数据库,调用数据存储
多媒体托管和支付 (8.10):学习函数的文件多媒体托管和支持能力
一体化方案开发实战 (8.11):学习和前端 ( react / vue ) 代码一起开发的一体化方案
完结撒花 ,点击上面的链接可以回顾这七天的内容哦~
关于 Midway Serverless 的相关介绍,请参考 Day2 的文章
今日任务为使用 Midway Serverless MySQL 数据库示例模板创建 ToDo List 应用,编写查询表数据数量统计的 SQL 语句,执行函数返回数据数量
本次任务原理跟 Day5 相似,请先阅读 Day5 文章 的 任务拓展 部分
本次任务安排与上文的计划有出入,旨在熟悉 SQL 操作。
登入云开发平台,进入到应用列表,点击 创建新应用
,新建一个 WEB 实验室解决方案的 Midway Serverless MySQL数据库示例
。
创建好后,进入 开发部署
。
进入 IDE 后,先在终端执行:
npm i --registry=https://registry.npm.taobao.org
安装 npm 依赖,因为依赖包很多,这里用了淘宝的镜像源,安装会更快。
默认为读取应用的环境变量,环境变量需要到 应用列表-应用配置
中修改。
本次任务无需使用自己的数据库,直接默认就好。
环境变量名 | 释义 |
---|---|
MIDWAY_RDS_HOST | RDS 数据库地址 |
MIDWAY_RDS_PORT | RDS 数据库端口,默认为3306 |
MIDWAY_RDS_DBNAME | RDS 数据库名称 |
MIDWAY_RDS_USERNAME | RDS 数据库用户名 |
MIDWAY_RDS_PASSWORD | RDS 数据库密码 |
由于环境变量需要部署的时候才能读取,为了方便调试,可以复制环境变量值到 src/apis/config/config.default.ts
文件并修改代码:
exports.dbConfig = {
host: 'rm-uf6y14uhf0080yfrb7o.mysql.rds.aliyuncs.com', //process.env.MIDWAY_RDS_HOST
port: 3306, //process.env.MIDWAY_RDS_PORT
database: 'faas-test', //process.env.MIDWAY_RDS_DBNAME
username: 'faas_db_test', //process.env.MIDWAY_RDS_USERNAME
password: 'YY6i8Jp7W_mtYxU' //process.env.MIDWAY_RDS_PASSWORD
};
在函数文件 src/apis/index.ts
中新增一个函数:
@Func('count.handler')
async count() {
const result = await this.db.query('select count(*) as SUM from todo'); //写入 SQL 语句
return result;
}
这里使用到了这样的一条 SQL 语句:
select count(*) as SUM from todo;
count()
函数的作用是统计,count(*)
返回表中记录的数目,这里将返回值从表 todo
中 select
出来并定义了个别名 SUM
。
由于增加了一个新的函数,接下来需要修改函数定义文件 f.yml
的 functions
下定义这个新函数:
functions:
count:
handler: count.handler
events:
- apigw:
path: /api/count
注意正确缩进!
在终端执行 npm run dev
运行项目,点击生成的链接,可以访问这个页面,内容均来自默认的公共数据库。
在链接后面加上 /api/count
即可查看函数返回值,这个值是动态的,当用户对表中数据进行增、删时会在该值中有所体现。
警告:
正式部署上线前请将环境变量配置为自己的数据库和 AccessKey,记得将 src/apis/config/config.default.ts
文件改回默认状态。
除了上述方法查看统计量的返回值,还可以用 midway 函数开发命令行工具调用该函数,这个方法在 Day2 和 Day3 中均有介绍。
首先执行命令安装 midway 函数开发命令行工具:
npm install @midwayjs/faas-cli -g
执行 f invoke -f count
调用 count
函数,结果如下图
上图主要信息:
--------- result start --------
{"isBase64Encoded":false,"statusCode":200,"headers":{"content-type":"application/json; charset=utf-8"},"body":"[[{\"SUM\":100494}],[{\"SUM\":100494}]]"}
--------- result end --------
本次任务主要复习了 Day5 使用 Midway Serverless 数据库示例创建 ToDo List 的操作和连接数据库的原理,并在此基础上复习了 Midway Serverless 函数定义、调用的方法和运用 SQL 语句实现数据操作、显示等功能。
对创造营后续内容感兴趣的朋友们记得 关注我 哦~