简介

云函数(Serverless Cloud Function,SCF)是腾讯云提供的无服务器执行环境,可以在无需购买和管理服务器的情况下运行代码。只需编写核心代码并设置运行条件,即可在腾讯云的基础设施上弹性、安全地运行代码。

教程

概况

默认情况下,仅需要云函数即可实现需求。但是,如需日志查询,则应搭配日志服务产品;如需网关服务,则应搭配API网关产品;如需性能检测,则应搭配应用性能观测产品。
云函数还可以实现版本管理、生产与测试环境分离,例如api.coolkk.net是服务域名,api.coolkk.net/api.coolkk.net/releaserelease版本的代码,而api.coolkk.net/developdevelop版本的代码,两者互不影响,但处于同一云函数中。

云函数

Serverless-函数服务中操作。

函数

Serverless-函数服务-函数管理中操作。

  1. 新建云函数,注意可以指定地区(默认广州)命名空间(默认default)
  2. 选择从头开始
  3. 如需直接接收HTTP请求触发函数执行,选择Web函数(以此为例);如需接收云API、多种触发器JSON格式事件触发函数执行,选择事件函数
  4. 选中日志服务默认触发器会自动创建。
  5. 其他选项按需配置。

版本

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的问题。

绑定别名

在上面的步骤中,已经创建好了别名,分别为DEVELOPRELEASE,接下来要在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
  • 后端超时:可选
  • 下一步
  • 返回类型:可选
  • 完成
  • 发布服务(勾选发布)

参考资料