文档

函数创建方式选型

更新时间:

为满足不同场景下的用户需求,函数计算提供事件函数、Web函数和任务函数的创建方式。本文介绍函数计算支持的创建函数方式的适用场景及差异,供您进行技术选型。

选型分析

对比项

事件函数

Web函数

任务函数

适用场景

按照函数计算定义的接口编写程序处理事件。

基于各个语言的流行框架(Java SpringBootNode.js ExpressPython FlaskGolang Gin等)编写程序,或者迁移已有的框架应用。

容器镜像

  • 完全控制程序运行的环境,或者迁移已有的容器应用。

  • 使用GPU实例。

对函数发起异步调用,且需要追踪并保存异步调用各个阶段的状态,可以选择创建任务函数。任务函数默认开启任务模式,您可以使用任务模式提交、查看、停止和重试异步任务。

冷启动

最快。代码包中不包含运行时,所以冷启动最快。

较快。Web函数使用公共镜像,没有镜像拉取时间,所以冷启动会较快。

较慢。需要拉取镜像,所以冷启动较慢。

最快。代码包中不包含运行时,所以冷启动最快。

代码包限制

500 MB未解压代码包

500 MB未解压代码包

10 GB未解压镜像

500 MB未解压代码包

代码包格式

ZIP、JAR(Java)、文件夹

ZIP、JAR(Java)、文件夹

参见什么是容器镜像服务ACR

ZIP、JAR(Java)、文件夹

是否支持GPU实例

不支持

不支持

支持

不支持

运行时环境

Node.js、Python、PHP、Java、.NET Core 、Go

无限制

无限制

Node.js、Python、PHP、Java、.NET Core 、Go

函数创建方式介绍

事件函数

如果您想按照函数计算定义的接口编写程序处理事件,请选择事件函数。具体操作,请参见创建事件函数

image

Web函数

如果您想基于各个语言的流行框架(Java SpringBootNode.js ExpressPython FlaskGolang Gin等)编写程序、自定义容器镜像,或者迁移已有的框架应用,请选择Web函数。具体操作,请参见创建Web函数

image

任务函数

如果您想对函数发起异步调用,且需要追踪并保存异步调用各个阶段的状态,可以选择创建任务函数。任务函数默认开启任务模式,您可以使用任务模式提交、查看、停止和重试异步任务。详情参见创建任务函数

image