函数计算提供了一个全托管、开箱即用、可观测的大规模任务处理平台,可以通过函数计算控制台创建任务函数。与事件函数唯一不同的是,任务函数创建成功后,默认开启任务模式,支持使用任务模式提交、查看、停止和重试异步任务等。
创建函数
登录函数计算控制台,在左侧导航栏,单击函数。
在顶部菜单栏,选择地域,然后在函数页面,单击创建函数。
在弹出的对话框,根据提示和实际场景,选择任务函数类型,然后单击创建任务函数。
在创建任务函数页面,配置以下配置项,然后单击创建。
基础配置:设置函数规格。
配置项
说明
示例
函数名称
唯一用于标识函数的符号,在同一账号及地域下,函数名称必须唯一且符合命名规范。
规格方案
根据业务情况,设置函数的vCPU、内存及磁盘规格。设置规格后,实际调用函数产生的各资源使用量均按照规格乘以占用时长计量,详情请参见计费概述。
vCPU:0.35 vCPU
内存:512 MB
磁盘:512 MB(不计费,函数计算提供512 MB的磁盘免费使用额度)
弹性配置:选择弹性模式。
配置项
说明
示例
最小实例数
如果您的业务对延迟敏感,建议设置最小实例数≥1,提前锁定资源,降低冷启动延迟。
说明设置最小实例数≥1后,如果未配置最小实例数弹性策略或某段时间内,无有效的弹性策略,则当前最小实例数为此处设置的最小实例数。
如果配置了多条弹性策略,系统会计算每条策略触发时的最小实例数,并取当前时间有效的弹性策略中最小实例数的最大值作为当前最小实例数。
更多信息,请参见如何计算当前最小实例数?。
开启
函数代码:配置函数的运行环境和代码相关信息。
配置项
说明
示例
运行环境
推荐选择内置运行时,并选择熟悉的语言和版本,例如Python、Java、PHP或Node.js等,更多信息请参见函数计算运行时。
本文以选择内置运行时为例进行介绍。
代码上传方式
选择代码上传到函数计算的方式。
使用示例代码:如果想先完成函数的创建,后续再完善代码,可以选择平台提供的Hello World示例代码,后续可以在函数详情页面的代码页签在线编写和调试代码。
通过 ZIP 包上传代码:选择函数代码ZIP包并上传。
通过 JAR 包上传代码:选择函数代码JAR包并上传。
仅适用于Java运行环境。
通过文件夹上传代码:选择包含函数代码的文件夹并上传。
通过 OSS 上传代码:选择上传函数代码的Bucket 名称和文件名称。
使用示例代码
请求处理程序
设置请求处理程序,函数计算的运行时会加载并调用您的请求处理程序处理请求。
代码上传方式选择使用示例代码时,不需要修改请求处理程序。当选择其他代码上传方式时,则需要根据实际情况修改请求处理程序,否则函数执行时会报错。
index.handler
执行超时时间
设置超时时间。执行超时时间默认为60秒,最长为86400秒。
60
权限、网络、存储:配置函数访问角色、网络和存储挂载等。
配置项
说明
示例
函数角色
函数计算平台会使用这个RAM角色来生成访问的阿里云资源的临时密钥,并传递给代码。更多信息,请参见使用函数角色授予函数计算访问其他云服务的权限。
mytestrole
允许访问 VPC
用于开启允许函数访问VPC内资源。更多信息,请参见配置网络。
开启
专有网络
允许访问 VPC选择是时必填。创建新的VPC或在下拉列表中选择要访问的VPC ID。
fc.auto.create.vpc.1632317****
交换机
允许访问 VPC选择是时必填。创建新的交换机或在下拉列表中选择交换机ID。
fc.auto.create.vswitch.vpc-bp1p8248****
安全组
允许访问 VPC选择是时必填。创建新的安全组或在下拉列表中选择安全组。
fc.auto.create.SecurityGroup.vsw-bp15ftbbbbd****
允许默认网卡访问公网
是否允许函数通过默认网卡访问公网。
重要使用固定公网IP地址功能时,必须关闭允许函数默认网卡访问公网,否则配置的固定公网IP地址不生效。更多信息,请参见配置固定公网IP地址。
开启
挂载 NAS 文件系统
为函数配置NAS文件系统,用于持久化存储函数间共享数据,例如多个推理函数共享的模型。
如果选择自动配置,系统默认使用已有名称为Alibaba-Fc-V3-Component-Generated的通用型NAS文件系统,如果当前账号下没有符合条件的NAS,系统会自动创建。
开启
挂载 OSS 对象存储
为函数挂载OSS对象存储,用于持久化存储日志、业务文件等。具体操作,请参见配置OSS对象存储。
开启
日志、链路追踪
配置项
说明
示例
日志功能
用于设置将函数的执行日志持久化保存到日志服务,方便您进行代码调试、故障分析和数据分析等。更多信息,请参见配置日志。
自动配置:自动选择以
serverless-<region_id>
开头的日志项目。该日志项目每个地域仅创建一个,不会重复创建,如系统查询到当前地域下已有此日志项目,将直接使用。
自定义配置:需手动指定目标日志项目和日志库。
开启
更多配置
配置项
说明
示例
时区
选择函数的时区。此处设置函数的时区后,将自动为函数添加一条环境变量TZ,其值为设置的目标时区。
UTC
标签
为函数设置标签便于分组管理函数,需同时设置标签键和标签值。
key : value
资源组
选择函数所在资源组,使用资源组对函数进行分组管理。
默认资源组
环境变量
通过环境变量,在不修改代码的前提下灵活调整函数的行为,详见配置环境变量。
{ "BUCKET_NAME": "MY_BUCKET", "TABLE_NAME": "MY_TABLE" }
在函数详情页面,选择代码页签,单击测试函数。
执行成功后,查看返回结果,本示例返回结果为hello world。
函数创建成功后,在函数详情页的任务页签,您可以看到任务模式已经默认被开启。
编辑函数
如果需要编辑函数代码或导入导出函数,请参见以下步骤。如果需要修改更多的配置项,请参见配置函数。
在函数详情页,可以在代码页签修改函数代码,如果左边的分支显示有调整(图示中①),需要先部署代码让修改的代码生效,再单击测试函数。
也可以将写好的代码导出备份,也可以重新上传代码进行部署。
删除函数
登录函数计算控制台,单击函数,选择地域,在目标函数的操作列,选择 ,然后在弹出的对话框,确认要删除的函数已无任何触发器、最小实例数弹性策略等绑定资源后,再次确认删除。
相关文档
任务函数创建完成后,默认开启任务模式,可以通过任务模式来管理异步调用任务,详情请参见任务管理。
如果需要为已有函数开启异步任务模式,详情请参见为已有函数开启异步任务模式。
除控制台外,函数计算还支持通过API发起异步任务,详情请参见InvokeFunction - 调用函数。
函数执行过程中,遇到超时等问题时,请参见函数管理FAQ进行处理。
使用频率较低的函数调用时间会比较长,具体原因见为什么使用频率较低的函数调用时间比较长?。如果想消除弹性实例的冷启动延时影响,可以设置最小实例数≥1。
如果需要获取函数的ARN在代码中定位阿里云资源,可参见获取函数ARN。