云函数简介

云函数(Serverless Cloud Function,SCF)是腾讯云的 Serverless Faas 产品,它可以让开发者在无需购买和管理服务器的情况下运行代码。使用云函数时,只需使用平台支持的语言(Python、Node.js、PHP、Golang、Java 及 Custom Runtime)编写代码。云函数具有自动扩容缩容、按需计费、运维成本低的优势,使开发者可以专注于核心业务逻辑。此外。对于新用户,还有一定的免费额度,让开发者可以免费试用。

创建 helloworld 函数,解读函数配置

下面通过创建一个函数并进行函数调用来体验一下函数服务。

SCF 官方提供了上百个模板,方便快速创建函数,也方便开发者在模板的基础上进行定制。

下面使用模板新建函数,这里使用的模板的标签是:Python3.6、helloworld,一眼就知道运行时是 Python3.6。

点击「下一步」进入到配置页面,配置页面主要有四部分组成:基础配置、函数代码、高级配置、触发器配置。

让我们来梳理下这些配置:

「基础配置」中可以设置函数名称、选择地域、添加描述;

「函数代码」中可以在线编辑代码;

「高级配置」中可以配置很多高级选项,如下所示:

  • 环境配置,包括内存、执行超时时间、环境变量。
  • 权限配置,可以配置运行角色。
  • 日志配置,可以配置日志投递到哪个日志集、哪个日志主题,还可以配置将日志持久化到对象存储。
  • 层配置,可以在函数中进行层管理,可以将代码包或一些依赖放到层,层可以被不同的函数共享。
  • 网络配置,可以配置公网访问还是使用私有网络或者同时配置公网访问和私有网络,使用公网访问时,还可以固定出口IP。
  • 文件系统,可以让函数轻松访问存储在 CFS 文件系统中的文件。多个函数可共用一个文件系统,实现文件共享。
  • 执行配置,可以配置异步执行,适合运行时间长的函数。
  • 并发配置,可以配置保留并发,用于确保函数有足够的并发数量,避免并发超过账号额度的限制。
  • 标签,可以给函数添加标签,用于筛选过滤。

「触发器配置」,可以为函数配置触发器,每个函数可以创建多个触发器。

云函数 SCF 提供了丰富的触发器,可以选择:

  • 定时触发
  • COS触发
  • CLS日志触发
  • MPS触发
  • CLB触发

暂且使用默认配置,点击「完成」创建函数,函数创建后,如下所示:

在 Web IDE 中测试函数

除了使用触发器调用函数外,Web IDE 中还可以对函数进行测试。

Web IDE 中还可以基于现有的测试模板定制自己的测试模板(个人感觉这里入口不够明显)。

修改测试模板后要重新进行函数部署。

点击「测试」按钮,编辑器下方可以查看执行摘要和本次执行日志:

查看日志

函数左侧的「日志查询」菜单可以查看调用日志。

也可以对日志进行检索。

查看监控

函数左侧的「监控信息」菜单可以查看一些指标信息,截图如下。

不断变化的云函数

随着时间推移,腾讯云 SCF也在不断变化。这次登录控制台,UI 层面的变化给我最明显的感觉是:曾经云函数和 Serverless 应用是互相独立的产品,如今已整合在一起,大大省去了来回切换的繁琐。再看 AWS Lambda 和阿里云函数计算,从一开始,函数和应用就是在一起的。

总结

本次实践从 helloworld 函数入手,解读了函数的一系列配置,体验了 在 Web IDE 中测试函数,再接着了解了日志与监控功能,最后谈到了在 UI 层面感知到的变化。相信通过本文,读者也会对云函数有一个基本的认识。