
上QQ阅读APP看书,第一时间看更新
3.5 部署第一个Serverless实例
本节将通过函数+网关触发器的Hello World示例,演示Serverless的工作过程。各公有云平台均提供类似的Serverless服务,本书使用腾讯云SCF云函数平台进行讲解及演示。
3.5.1 部署Hello World函数示例
首先需要注册腾讯云账号并进行实名认证。
1. 创建云函数
进入腾讯云函数控制台https://console.cloud.tencent.com/scf/list,点击“新建”,输入对应的函数名称:my-first-demo运行环境:Nodejs 12.16,如图3-6所示。

图3-6 创建云函数
2. 创建触发器
函数创建完成后,进入函数详情页面,点击触发器管理中的“创建触发器”,选择API网关触发器并创建,如图3-7所示。

图3-7 创建API网关触发器
3. 触发函数
点击页面中的访问链接(形式类似https://service-xxxxxxx-125xxxxxx.sh.apigw.tencentcs.com/release/my-first-demo),可以看到页面展示了触发事件的信息。至此,一个网关+函数的Serverless服务便配置完成了。
3.5.2 参数定义
针对部署完成的应用,可以查看对应的函数代码,如代码清单3-1所示。和本地开发Node.js函数不同的是,云函数中有几个独特的参数定义。
代码清单3-1 云函数代码
'use strict'; exports.main_handler = async (event, context, callback) => { console.log("Hello World") console.log(event) console.log(event["non-exist"]) console.log(context) return event };
- 入口函数(handler function):用于指定云端运行环境被触发时,执行的函数/方法。
- 事件(event):用于传递触发事件数据,在各个公有云平台中,不同的触发器对应不同的事件结构。
- 上下文(context):用于传递函数的运行时信息,例如请求唯一ID、日志组配置等。
通过理解上述参数的作用,可以了解云上函数平台的规范,才能够更好地开发Serverless应用。