函数是系统调度和运行的单位。函数必须从属于服务,同一个服务下可以创建多个函数,这些函数共享一些相同的设置,例如服务授权、日志配置,但彼此相互独立,互不影响。本文介绍函数的属性和运行环境,以及如何通过函数计算控制台创建、配置和删除函数。
前提条件
支持的函数运行环境列表
运行环境 | 说明 | 文档链接 |
---|---|---|
Node.js 6.x | Node.js 6.x版本 | Node.js运行环境 |
Node.js 8.x | Node.js 8.x版本 | |
Node.js 10.x | Node.js 10.x版本 | |
Node.js 12.x | Node.js 12.x版本 | |
Node.js 14.x | Node.js 14.x版本 | |
Python 2.7 | Python 2.7版本 | Python运行环境 |
Python 3 | Python 3.6版本 | |
Python 3.9 | Python 3.9版本 | |
PHP 7.2 | PHP 7.2.7版本 | PHP运行环境 |
Java 11 | Java 11版本 | Java运行环境 |
Java 8 | Java 8版本 | |
.NET Core 2.1 | .NET Core 2.1版本 | .NET Core运行环境 |
Go 1.x | Go 1.8或以上版本 | Go运行环境 |
Custom Runtime | 无 | Custom Runtime运行环境 |
Custom Container | 无 | Custom Container运行环境 |
创建函数
获取函数ARN
更新函数
- 登录函数计算控制台。
- 在左侧导航栏,单击服务及函数。
- 在顶部菜单栏,选择地域。
- 在服务列表页面,单击目标服务。
- 在函数管理页面,单击目标函数操作列的配置。
- 在编辑函数配置页面,按需修改相应的配置项,单击保存。
- 可选:基础信息
配置函数的基础信息。目前仅支持修改函数描述、实例类型和内存规格。
参数 说明 描述 自定义的函数的描述,帮助您辨识函数的用途。 实例类型 选择适合您的实例类型。 - 弹性实例
- 性能实例
内存规格 设置函数执行内存。 - 选择输入:在下拉列表中选择所需内存。
- 手动输入:单击手动输入内存大小,可自定义函数执行内存。内存规格说明如下:
- 弹性实例:取值范围[128, 3072],单位为MB。
- 性能实例:取值范围[4, 32],单位为GB。
说明 输入的内存必须为64 MB的倍数。
注意 实例类型的修改遵循以下原则:- 支持弹性实例与性能实例互相修改。
- 从性能实例修改为弹性实例时,即从高配置到低配置的降低实例规格,系统会检测切换的风险,同时内存规格会自动降配。
- 可选:环境信息
配置函数的运行环境和其他关键参数。
参数 说明 运行环境 选择您熟悉的语言,例如Python、Java、PHP、Node.js等。函数计算支持的运行环境,请参见管理函数。 函数入口 填写函数入口。格式为[文件名].[函数名]。 注意 当运行环境选择为Custom Runtime时,不支持通过设置此参数来设置函数入口。启动命令(公测中) 仅当运行环境选择为Custom Runtime时,需配置此参数。配置自定义 bootstrap
的启动命令。需填写绝对路径,如/code/Bootstrap
。更多信息,请参见配置自定义启动命令及其参数。启动参数(公测中) 仅当运行环境选择为Custom Runtime时,需配置此参数。配置自定义 bootstrap
接收的参数列表。监听端口 仅当运行环境选择为Custom Runtime时,需配置此参数。配置您自定义的HTTP Server要监听的接口。关于HTTP Server监听端口的配置要求,请参见环境说明。 执行超时时间 设置超时时间。默认为60秒,最长为86400秒。 说明 超过设置的超时时间,函数将以执行失败结束。如需更长的时间限制,请提交工单。单实例并发数 单个实例能够并发处理的请求数。更多信息,请参见设置单实例并发数。 注意 Python和PHP语言不支持设置实例并发度。 - 可选:其他配置
配置项 说明 参考文档 生命周期函数 配置函数的生命周期函数,包括初始化函数、PreFreeze 函数和PreStop 函数。 函数实例生命周期 层 选择已创建的层名称和版本。层可以为您提供自定义的公共依赖库、运行时环境及函数扩展等发布与部署能力。 在函数中使用层 环境变量 配置函数运行环境中的环境变量。 环境变量 DNS 配置 配置自定义DNS,平台根据该配置生成resolv.conf。 在函数中配置自定义DNS
- 可选:基础信息
删除函数
- 登录函数计算控制台。
- 在左侧导航栏,单击服务及函数。
- 在顶部菜单栏,选择地域。
- 在服务列表页面,单击目标服务。
- 在函数管理页面找到目标函数,在其右侧操作列,选择 。
- 删除函数。
- 未配置或已删除触发器:在弹出的对话框单击删除。
- 已配置触发器:在弹出的对话框中,选中我确认要删除以上触发器,并同时删除此函数。复选框,然后单击删除。
- 未配置或已删除触发器:在弹出的对话框单击删除。
更多信息
除控制台外,函数计算还提供了以下方式来管理函数:
- Serverless Devs。
- SDK。API接口参数信息,请参见函数操作API。