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

支持的函数运行环境列表

运行环境 说明 文档链接
Node.js 6 Node.js 6版本 Node.js运行环境
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运行环境
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. 创建函数页面,按需选择创建函数的方式,配置以下配置项,然后单击创建
    本文以使用内置运行时创建使用自定义运行时创建方式为例进行说明。如果函数计算提供的环境无法满足您的业务需求,您可以使用容器镜像创建方式部署函数。具体操作,请参见创建Custom Container函数
    • 基本设置:配置函数的基本信息,包括函数名称和请求处理程序类型。
      • 处理事件请求:通过定时器、调用API/SDK或其他阿里云服务的触发器来触发函数执行。
      • 处理 HTTP 请求:用于处理HTTP请求或Websocket请求的函数。如果您的使用场景是Web场景,建议您使用自定义运行时创建
    • 函数代码:配置函数的运行环境和代码相关信息。
      配置项 说明
      运行环境 选择您熟悉的语言,例如Python、Java、PHP或Node.js等。函数计算支持的运行环境,请参见支持的函数运行环境列表
      代码上传方式 选择上传函数代码到函数计算的方式。
      • 使用示例代码:默认方式,您可以根据业务需要选择函数计算为您提供的创建函数的示例代码。
      • 通过 ZIP 包上传代码:选择函数代码ZIP包并上传。
      • 通过文件夹上传代码:选择包含函数代码的文件夹并上传。
      • 通过 OSS 上传代码:选择上传函数代码的Bucket 名称文件名称
      启动命令 程序的启动命令。如果不配置启动命令,您需要在代码的根目录手动创建一个名称为bootstrap的启动脚本,您的程序通过此脚本来启动。
      说明 仅当您选择使用自定义运行时创建函数时,需设置此配置项。
      监听端口 您的代码中的HTTP Server所监听的端口。
      说明 仅当您选择使用自定义运行时创建函数时,需设置此配置项。
    • 高级配置:配置函数的实例相关信息和函数执行超时时间等。
      配置项 说明
      实例类型 选择适合您业务的实例类型。
      • 弹性实例
      • 性能实例
      更多信息,请参见实例类型。关于各种实例类型的计费详情,请参见计费概述
      内存规格 设置函数执行内存。
      • 选择输入:在下拉列表中选择所需内存。
      • 手动输入:仅适用于弹性实例,单击手动输入内存大小,可自定义函数执行内存。取值范围[128, 3072],单位为MB。
        说明 输入的内存必须为64 MB的倍数。
      实例并发度 设置函数实例的并发度,具体信息,请参见设置实例并发度
      执行超时时间 设置超时时间。执行超时时间默认为60秒,最长为86400秒。
      说明 超过设置的超时时间,函数将以执行失败结束。如需更长的超时时间限制,提交工单申请。
    • 环境变量:设置函数运行环境中的环境变量。更多信息,请参见环境变量
    • 触发器配置:设置函数的触发器,您可以使用触发器触发函数执行。更多信息,请参见触发器管理

更新函数

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

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

      注意 实例类型的修改遵循以下原则:
      • 支持弹性实例性能实例互相修改。
      • 性能实例修改为弹性实例时,即从高配置到低配置的降低实例规格,系统会检测切换的风险,同时内存规格会自动降配。
    • 环境信息

      配置函数的运行环境和其他关键配置项。更多信息,请参见创建函数

    • 其他配置
      配置项 说明 参考文档
      环境变量 配置函数运行环境中的环境变量。 环境变量
      实例生命周期回调 配置函数实例的生命周期回调,包括初始化函数PreFreeze 函数PreStop 函数 函数实例生命周期
      选择已创建的层名称和版本。层可以为您提供自定义的公共依赖库、运行时环境及函数扩展等发布与部署能力。 创建自定义层
      DNS 配置 配置自定义DNS,平台根据该配置生成resolv.conf 在函数中配置自定义DNS
说明 您也可以根据提示删除不需要的函数。

获取函数ARN

资源ARN(Aliyun Resource Name)用于在代码中定位阿里云资源。您可以获取函数的ARN,便于引用函数。

  1. 登录函数计算控制台,在左侧导航栏,单击服务及函数
  2. 在顶部菜单栏,选择地域,然后在服务列表页面,单击目标服务。
  3. 函数管理页面,单击目标函数名称。
  4. 在函数详情页面,选择函数配置页签,在基础信息区域,查看并复制函数的ARN。

更多信息

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