更新时间:2024-11-11 GMT+08:00

产品功能

函数管理

提供控制台管理函数。

  • 函数支持Node.js、Java、Python、Go、PHP、Cangjie等多种运行时语言,同时支持用户自定义运行时,说明如表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

    定制运行时

    -

    Cangjie

    1.0

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

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

    表2 代码上传方式说明

    运行时

    在线编辑

    上传ZIP文件

    上传JAR包

    从OBS上传文件

    Node.js

    支持

    支持

    不支持

    支持

    Python

    支持

    支持

    不支持

    支持

    Java

    不支持

    支持

    支持

    支持

    Go

    不支持

    支持

    不支持

    支持

    C#

    不支持

    支持

    不支持

    支持

    PHP

    支持

    支持

    不支持

    支持

    定制运行时

    支持

    支持

    不支持

    支持

    Cangjie

    不支持

    支持

    不支持

    支持

触发器

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

表3 函数触发方式说明

触发器

函数调用方式

SMN触发器

异步调用

APIG触发器

同步调用

DIS触发器

异步调用

TIMER触发器

异步调用

LTS触发器

异步调用

CTS触发器

异步调用

DDS触发器

异步调用

Kafka触发器

异步调用

日志和监控

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

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

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

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

初始化功能

引入initializer接口:

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

函数流

函数流是用来编排FunctionGraph函数的工具,可以将多个函数编排成一个协调多个分布式函数任务执行的工作流。

用户通过在可视化的编排页面,将事件触发器、函数和流程控制器通过连线关联在一个流程图中,每个节点的输出作为连线下一个节点的输入。编排好的流程会按照流程图中设定好的顺序依次执行,执行成功后支持查看工作流的运行记录,方便您轻松地诊断和调试。

函数流功能特性和优势:

  • 功能特性
    1. 函数可视化编排
    2. 函数流执行引擎
    3. 错误处理
    4. 可视化监控
  • 优势
    1. 使用更少代码快速构建应用程序

      函数流允许用户将函数组合编排成一个完整的应用程序,而无需进行代码编写。可以实现快速构建,快速上线。当业务调整时,可以快速调整流程,完成快速上线,无需编写任何代码。

    2. 完善的错误处理机制

      支持对流程中发生的错误进行捕获和重试,用户可以进行灵活的异常处理。

    3. 可视化的编排和监控体验

      通过拖拽进行流程编排,学习成本低,可以快速上手。

      监控页面使用流程可视化的查看方式,可以做到快速识别问题位置。

统一插件开发和调试

  • VSCode插件支持(云下):

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

HTTP函数

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

该特性仅FunctionGraph v2版本支持。

调用链

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

自定义镜像

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

该特性仅FunctionGraph v2版本支持。