Serverless从入门到进阶:架构、原理与实践
上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所示。

044-1

图3-6 创建云函数

2. 创建触发器

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

044-2

图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应用。