函数计算的资源调度与运行以函数为单位。一个服务下可以创建多个函数,这些函数彼此相互独立,互不影响,但这些函数可以共享一些相同的设置,例如服务授权和日志配置等。您可以通过函数计算控制台创建函数、更新函数及获取函数ARN等。
前提条件
创建函数
- 登录函数计算控制台,在左侧导航栏,单击服务及函数。
- 在顶部菜单栏,选择地域,然后在服务列表页面,单击目标服务。
- 在函数管理页面,单击创建函数。
在创建函数页面,按需选择创建函数的方式,配置以下配置项,然后单击创建。
说明本文以使用内置运行时创建和使用自定义运行时创建方式为例进行说明。如果函数计算提供的环境无法满足您的业务需求,您可以使用容器镜像创建方式部署函数。具体操作,请参见创建Custom Container函数。
基本设置:配置函数的基本信息,包括函数名称和请求处理程序类型。请求处理程序类型包括以下两种。
处理事件请求:通过定时器、调用API/SDK或其他阿里云服务的触发器来触发函数执行。
处理 HTTP 请求:用于处理HTTP请求或WebSocket请求的函数。如果您的使用场景是Web场景,建议您使用自定义运行时创建。
函数代码:配置函数的运行环境和代码相关信息。
配置项
说明
示例
运行环境
选择您熟悉的语言,例如Python、Java、PHP或Node.js等。函数计算支持的运行环境,请参见函数计算支持的函数运行环境列表。
Node.js14
代码上传方式
选择上传函数代码到函数计算的方式。
使用示例代码:默认方式,您可以根据业务需要选择函数计算为您提供的创建函数的示例代码。
通过 ZIP 包上传代码:选择函数代码ZIP包并上传。
通过 JAR 包上传代码:选择函数代码JAR包并上传。
通过文件夹上传代码:选择包含函数代码的文件夹并上传。
通过 OSS 上传代码:选择上传函数代码的Bucket 名称和文件名称。
说明代码上传方式选择使用示例代码时,不需要修改请求处理程序。当选择其他代码上传方式时,则需要根据实际情况修改请求处理程序,否则函数执行时会报错。
当运行环境选择为Java 8或Java 11时,只支持使用示例代码、通过 JAR 包上传代码和通过 OSS 上传代码。其余运行环境支持使用示例代码、通过 ZIP 包上传代码、通过文件夹上传代码和通过 OSS 上传代码。
使用示例代码
启动命令
说明仅当您选择使用自定义运行时创建函数时,需设置此配置项。
程序的启动命令。如果不配置启动命令,您需要在代码的根目录手动创建一个名称为bootstrap的启动脚本,您的程序通过此脚本来启动。
npm run start
监听端口
说明仅当您选择使用自定义运行时创建函数时,需设置此配置项。
您的代码中的HTTP Server所监听的端口。
9000
高级配置:配置函数的实例相关信息和函数执行超时时间等。
配置项
说明
示例
规格方案
根据您的业务情况,选择或手动输入合理的vCPU规格和内存规格组合。关于各资源使用的计费详情,请参见计费概述。
说明vCPU大小(单位为核)与内存大小(单位为GB)的比例必须设置在1∶1到1∶4之间。
0.35核,512 MB
临时硬盘大小
根据您的业务情况,选择临时存储文件的硬盘大小。
取值说明如下。
512 MB:默认值。不计费,函数计算为您提供512 MB以内的硬盘免费使用额度。
10 GB:按9.5 GB进行计费。
说明临时硬盘中所有目录可写,共享临时硬盘的空间。
临时硬盘大小与底层执行函数的实例生命周期一致,实例被系统回收后,硬盘上的数据也会消失。如您需要对文件进行持久化保存,可以选择挂载NAS或OSS。具体操作,请参见配置NAS文件系统和配置OSS文件系统。
512 MB
实例并发度
设置函数实例的并发度。具体信息,请参见设置实例并发度。
10
执行超时时间
设置超时时间。执行超时时间默认为60秒,最长为86400秒。
60
请求处理程序
设置请求处理程序,函数计算的运行时会加载并调用您的请求处理程序处理请求。选择使用自定义运行时创建和使用容器镜像创建函数时,无需设置此配置项。
说明代码上传方式选择使用示例代码时,不需要修改请求处理程序。当选择其他代码上传方式时,则需要根据实际情况修改请求处理程序,否则函数执行时会报错。
index.handler
时区
选择函数的时区。此处设置函数的时区后,将自动为函数添加一条环境变量TZ,其值为您设置的目标时区。
UTC
环境变量:设置函数运行环境中的环境变量。更多信息,请参见环境变量。
触发器配置:设置函数的触发器,您可以使用触发器触发函数执行。更多信息,请参见触发器管理。
更新函数
- 登录函数计算控制台,在左侧导航栏,单击服务及函数。
- 在顶部菜单栏,选择地域,然后在服务列表页面,单击目标服务。
- 在函数管理页面,单击目标函数操作列的配置。
在编辑函数配置页面,按需修改相应的配置项,单击保存。
基础信息
配置函数的基础信息。目前仅支持修改函数描述、规格方案、硬盘大小和实例并发度。
环境信息
配置函数的运行环境和其他关键配置项。更多信息,请参见创建函数。
其他配置
配置项
说明
参考文档
环境变量
配置函数运行环境中的环境变量。
实例生命周期回调
配置函数实例的生命周期回调,包括初始化函数、PreFreeze 函数和PreStop 函数。
层
选择已创建的层名称和版本。层可以为您提供自定义的公共依赖库、运行时环境及函数扩展等发布与部署能力。
DNS 配置
配置自定义DNS,平台根据该配置生成resolv.conf。
您也可以根据提示删除不需要的函数。
获取函数ARN
资源ARN(Aliyun Resource Name)用于在代码中定位阿里云资源。您可以获取函数的ARN,便于引用函数。
- 登录函数计算控制台,在左侧导航栏,单击服务及函数。
- 在顶部菜单栏,选择地域,然后在服务列表页面,单击目标服务。
在函数管理页面,单击需获取ARN的函数名称。
在函数详情页面,选择函数配置页签,在基础信息区域,查看并复制函数的ARN。
函数计算支持的函数运行环境列表
运行环境 | 说明 | 文档链接 |
Node.js 6 | Node.js 6版本 | |
Node.js 8 | Node.js 8版本 | |
Node.js 10 | Node.js 10版本 | |
Node.js 12 | Node.js 12版本 | |
Node.js 14 | Node.js 14版本 | |
Node.js 16 | Node.js 16版本 | |
Python 2.7 | Python 2.7版本 | |
Python 3 | Python 3.6版本 | |
Python 3.9 | Python 3.9版本 | |
Python 3.10 | Python 3.10版本 | |
PHP 7.2 | PHP 7.2.7版本 | |
Java 11 | Java 11版本 | |
Java 8 | Java 8版本 | |
.NET Core 3.1 | .NET Core 3.1版本 | |
Go 1.x | Go 1.8或以上版本 | |
Custom Runtime | 自定义运行时(Debian 9) | |
Custom Runtime(Debian 10) | 自定义运行时(Debian 10) | |
Custom Container | 无 |
相关文档
函数执行超时,您可以尝试的操作见函数执行超时,报错Function time out after怎么办?。
使用频率较低的函数调用时间会比较长,具体原因见为什么使用频率较低的函数调用时间比较长?。如果想消除冷启动延时的影响,可以使用预留模式的实例,具体可参考如何让实例一直存活不销毁,消除冷启动延时的影响?。