腾讯云云函数的教程
简介
云函数(Serverless Cloud Function,SCF)是腾讯云提供的无服务器执行环境,可以在无需购买和管理服务器的情况下运行代码。只需编写核心代码并设置运行条件,即可在腾讯云的基础设施上弹性、安全地运行代码。
教程
概况
默认情况下,仅需要云函数即可实现需求。但是,如需日志查询,则应搭配日志服务产品;如需网关服务,则应搭配API网关产品;如需性能检测,则应搭配应用性能观测产品。
云函数还可以实现版本管理、生产与测试环境分离,例如api.coolkk.net
是服务域名,api.coolkk.net/
和api.coolkk.net/release
是release版本的代码,而api.coolkk.net/develop
是develop版本的代码,两者互不影响,但处于同一云函数中。
云函数
在Serverless-函数服务中操作。
函数
在Serverless-函数服务-函数管理中操作。
- 新建云函数,注意可以指定地区(默认广州)与命名空间(默认default)。
- 选择从头开始。
- 如需直接接收HTTP请求触发函数执行,选择Web函数(以此为例);如需接收云API、多种触发器JSON格式事件触发函数执行,选择事件函数。
- 选中日志服务、默认触发器会自动创建。
- 其他选项按需配置。
版本
在Serverless-函数服务-版本管理中操作。
版本用于对版本进行管理,类似Github中的release。
每当需要发布固定新版本时,可以点此发布新版本,描述中可以填写如1.0.0
的版本名称,创建完毕后会同时有一个自增的版本数字如1
。
别名
在Serverless-函数服务-别名管理中操作。
别名相当于一个可以变动的标记,类似Github中的tag。
每当需要发布到生产环境时,可以更改别名指向的版本,配置例如:
DEVELOP
:版本权重配置指向100%
的$LATEST
,开发环境,时刻指向最新部署的代码。RELEASE
:版本权重配置指向100%
的某个版本
,生产环境,稳定服务。$DEFAULT
:版本权重配置指向100%
的$LATEST
,默认别名,不可更改。
触发
在Serverless-函数服务-触发管理中操作。
触发定义了何时运行对应的云函数,有API网关触发(以此为例)、定时触发等等。
默认创建的触发器为基础API网关,不依赖API网关产品,不支持自定义域名及映射,访问路径即网址。
可以通过升级切换为标准版的API网关产品:
- 点击升级至API网关标准版的文字链接,即可一键升级,不可回退。
日志服务
在日志服务中操作。
更改名称
- 更改日志集的名称,在日志服务-日志主题-管理日志集中。
- 更改日志主题的名称,在日志服务-日志主题中。
API网关
在API网关中操作。
更改名称
- 更改API网关的名称。
自定义域名
- 在API网关-服务-自定义域名中新建自定义域名。
- 新建自定义域名时,路径映射选择自定义路径映射,路径为
/
,环境为发布
,即可避免域名后需要额外加上/release
的问题。
绑定别名
在上面的步骤中,已经创建好了别名,分别为DEVELOP
和RELEASE
,接下来要在API网关中配置,使其可以实现对应。
配置成功之后可以在Serverless-函数服务-触发管理看到对应的3个触发器。
DEFAULT
在API网关-服务-管理API中编辑默认API并发布:
- API名称:
default
- API类型:
通用API
- 备注:
default
- 前端类型:
HTTP & HTTPS
- 路径:
/
- 请求方法:
ANY
- 鉴权类型:
免认证
- 支持CORS:可选
- 参数配置:可选
- 下一步
- 后端类型:
云函数SCF
- 云函数:
- 函数类型:
Web函数
- 命名空间:对应
- 函数:对应
- 版本:
别名:RELEASE
- 函数类型:
- 后端超时:可选
- 下一步
- 返回类型:可选
- 完成
- 发布服务(勾选发布)
DEVELOP
在API网关-服务-管理API中新建API并发布。
- API名称:
develop
- API类型:
通用API
- 备注:
develop
- 前端类型:
HTTP & HTTPS
- 路径:
/develop
- 请求方法:
ANY
- 鉴权类型:
免认证
- 支持CORS:可选
- 参数配置:可选
- 下一步
- 后端类型:
云函数SCF
- 云函数:
- 函数类型:
Web函数
- 命名空间:对应
- 函数:对应
- 版本:
别名:DEVELOP
- 函数类型:
- 后端超时:可选
- 下一步
- 返回类型:可选
- 完成
- 发布服务(勾选发布)
RELEASE
在API网关-服务-管理API中新建API并发布。
- API名称:
release
- API类型:
通用API
- 备注:
release
- 前端类型:
HTTP & HTTPS
- 路径:
/release
- 请求方法:
ANY
- 鉴权类型:
免认证
- 支持CORS:可选
- 参数配置:可选
- 下一步
- 后端类型:
云函数SCF
- 云函数:
- 函数类型:
Web函数
- 命名空间:对应
- 函数:对应
- 版本:
别名:RELEASE
- 函数类型:
- 后端超时:可选
- 下一步
- 返回类型:可选
- 完成
- 发布服务(勾选发布)