更新时间:2023-11-21 GMT+08:00

产品功能

函数管理

提供控制台管理函数。

  • 函数支持Node.js、Java、Python、Go等多种运行时语言,同时支持用户自定义运行时,说明如表1所示。

    建议使用相关语言的最新版本。

    表1 运行时语言说明

    运行时语言

    支持版本

    Node.js

    6.10、8.10、10.16、12.13、14.18、16.17、18.15

    Python

    2.7、3.6、3.9、3.10

    Java

    8.0、11

    Go

    1.x

    C#

    .NET Core 2.1、.NET Core 3.1

    PHP

    7.3

    定制运行时

    -

  • 函数支持多种代码导入方式

    支持在线编辑代码、OBS文件引入、上传ZIP包、上传JAR包等方式。不同运行时支持的代码上传方式如表2所示。

    表2 代码上传方式说明

    运行时

    在线编辑

    上传ZIP文件

    上传JAR包

    从OBS上传文件

    Node.js

    支持

    支持

    不支持

    支持

    Python

    支持

    支持

    不支持

    支持

    Java

    不支持

    支持

    支持

    支持

    Go

    不支持

    支持

    不支持

    支持

    C#

    不支持

    支持

    不支持

    支持

    PHP

    支持

    支持

    不支持

    支持

    定制运行时

    支持

    支持

    不支持

    支持

触发器

函数多种类型触发器,触发器调用方式如表3所示。

表3 函数触发方式说明

触发器

函数调用方式

SMN触发器

异步调用

APIG触发器

同步调用

OBS触发器

异步调用

DIS触发器

异步调用

TIMER触发器

异步调用

LTS触发器

异步调用

Kafka触发器

异步调用

日志和监控

提供调用函数的监控指标和运行日志的采集和展示,实时的图形化监控指标展示,在线查询日志,方便用户查看函数运行状态和定位问题。

日志的查询过程请参考管理函数日志

单个监控指标请参考监控信息说明

租户函数监控指标请参考总览页面介绍

初始化功能

引入initializer接口:

  • 分离初始化逻辑和请求处理逻辑,程序逻辑更清晰,让用户更易写出结构良好,性能更优的代码。
  • 用户函数代码更新时,系统能够保证用户函数的平滑升级,规避应用层初始化冷启动带来的性能损耗。新的函数实例启动后能够自动执行用户的初始化逻辑,在初始化完成后再处理请求。
  • 在应用负载上升,需要增加更多函数实例时,系统能够识别函数应用层初始化的开销,更准确的计算资源伸缩的时机和所需的资源量,让请求延时更加平稳。

统一插件开发和调试

  • VSCode插件支持(云下):

    通过模板创建函数,在云端查看函数并下载到本地调试,使用VSCode插件调试,将本地函数推送到云端。

HTTP函数

HTTP函数专注于优化 Web 服务场景,用户可以直接发送 HTTP 请求到 URL 触发函数执行。在函数创建编辑界面增加类型。HTTP函数只允许创建APIG/APIC的触发器类型,其他触发器不支持。

该特性仅FunctionGraph v2版本支持。

调用链

用户通过页面函数配置开启调用链,开启后可以链接到APM服务页面查看jvm、调用链等信息,当前仅支持JAVA函数。

自定义镜像

支持用户直接打包上传容器镜像,由平台加载并启动运行,调用方式与HTTP函数类似。与原来上传代码方式相比,用户可以使用自定义的代码包,不仅灵活也简化了用户的迁移成本。

该特性仅FunctionGraph v2版本支持。