函数是系统调度和运行的单位。函数必须从属于服务,同一个服务下可以创建多个函数,这些函数共享一些相同的设置,例如服务授权、日志配置,但彼此相互独立,互不影响。本文介绍函数的属性和运行环境,以及如何通过函数计算控制台创建、配置和删除函数。

前提条件

创建服务

支持的函数运行环境列表

运行环境 说明 文档链接
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运行环境

创建函数

  1. 登录函数计算控制台
  2. 在左侧导航栏,单击服务及函数
  3. 在顶部菜单栏,选择地域。
  4. 服务列表页面,单击目标服务。
  5. 函数管理页面,单击创建函数
  6. 创建函数页面,按需选择创建函数的方式。
    本文以从零开始创建为例。更多信息,请参见以下文档:
  7. 基本设置区域,填写相关参数,然后单击创建sc_create_function_v2.png
    参数说明如下所示。
    参数 是否必填 操作 示例值
    函数名称 填写自定义的函数名称。必须以字母开头,可包含数字、字母(区分大小写)、下划线(_)和短划线(-),不超过64个字符。
    说明 如果不填写名称,函数计算会自动为您创建。
    Function
    运行环境 选择您熟悉的语言,例如Python、Java、PHP、Node.js等。函数计算支持的运行环境,请参见管理函数 Node.js 12.x
    函数触发方式 选择函数触发方式。
    • 通过事件触发:通过定时器和其他阿里云服务的触发器来触发函数执行。
    • 通过 HTTP 请求触发:通过发送HTTP请求触发函数执行,适用于快速构建Web服务等场景。
    通过事件触发
    实例类型 选择适合您的实例类型。
    • 弹性实例
    • 性能实例
    更多信息,请参见实例类型及使用模式。关于各种实例类型的计费详情,请参见计费概述
    弹性实例
    内存规格 设置函数执行内存。
    • 选择输入:在下拉列表中选择所需内存。
    • 手动输入:单击手动输入内存大小,可自定义函数执行内存。内存规格说明如下:
      • 弹性实例:取值范围[128, 3072],单位为MB。
      • 性能实例:取值范围[4, 32],单位为GB。
      说明 输入的内存必须为64 MB的倍数。
    512 MB
    函数创建完成后,在函数管理页面,即可查看已创建的函数。

获取函数ARN

  1. 登录函数计算控制台
  2. 在左侧导航栏,单击服务及函数
  3. 在顶部菜单栏,选择地域。
  4. 服务列表页面,单击目标服务。
  5. 函数管理页面,单击目标函数名称。
  6. 在函数详情页面的函数概览区域,复制函数ARN。
    资源ARN(Aliyun Resource Name)可用于在代码中定位阿里云资源。

更新函数

  1. 登录函数计算控制台
  2. 在左侧导航栏,单击服务及函数
  3. 在顶部菜单栏,选择地域。
  4. 服务列表页面,单击目标服务。
  5. 函数管理页面,单击目标函数操作列的配置
  6. 在编辑函数配置页面,按需修改相应的配置项,单击保存
    • 可选:基础信息

      配置函数的基础信息。目前仅支持修改函数描述实例类型内存规格

      参数 说明
      描述 自定义的函数的描述,帮助您辨识函数的用途。
      实例类型 选择适合您的实例类型。
      • 弹性实例
      • 性能实例
      更多信息,请参见实例类型及使用模式。关于各种实例类型的计费详情,请参见计费概述
      内存规格 设置函数执行内存。
      • 选择输入:在下拉列表中选择所需内存。
      • 手动输入:单击手动输入内存大小,可自定义函数执行内存。内存规格说明如下:
        • 弹性实例:取值范围[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

删除函数

  1. 登录函数计算控制台
  2. 在左侧导航栏,单击服务及函数
  3. 在顶部菜单栏,选择地域。
  4. 服务列表页面,单击目标服务。
  5. 函数管理页面找到目标函数,在其右侧操作列,选择更多 > 删除
  6. 删除函数。
    • 未配置或已删除触发器:在弹出的对话框单击删除db_delete_function_without_trigger
    • 已配置触发器:在弹出的对话框中,选中我确认要删除以上触发器,并同时删除此函数。复选框,然后单击删除db_delete_function_with_trigger

更多信息

除控制台外,函数计算还提供了以下方式来管理函数: