创建函数
创建函数
开通云函数服务后,首先需要在AGC中创建函数,并添加函数执行的代码。
-
登录AppGallery Connect,点击“开发与服务”。
-
在项目列表中点击需要创建云函数的项目。
-
在左侧导航栏选择“云开发(Serverless) > 云函数”,进入云函数主界面。
-
选择“函数”页签,点击“创建函数”。

-
页面右侧抽屉式滑出“创建函数”窗口,按照“函数配置 -> 触发器 -> 函数代码 -> 层配置”引导顺序配置函数。

函数配置
-
在“函数配置”页面,配置“函数名称”、“触发方式”、“超时时长”等函数信息。

配置项 说明 函数名称 函数的名称。 描述 函数的描述信息。 触发方式 请配置为“事件调用”。 “事件调用”表示通过触发器方式调用函数。 超时时长 函数最大运行时长,超过该时长,则默认函数执行失败,单位为秒,取值范围为1~1800。不同调用方式下,函数最大运行时长不同: - “同步”调用方式时,函数最大运行时长为55秒。 - “异步”调用方式时,函数最大运行时长为1800秒。 实例并发 函数请求并发量上限,单位为个,取值范围为1~10000。 环境变量 key-value形式,可以将需要的变量配置信息传入函数执行环境中,用于函数在运行时读取和使用。 -
(可选)可根据需要添加环境变量,支持表单格式和JSON格式两种编辑方式。添加完成后,还可以点击“JSON格式导出”,导出以“函数名称.json”格式命名的环境变量文件,以备后续使用。
-
环境变量的key值具有唯一性,且“PROJECT_CREDENTIAL”和“AGC_”为系统级环境变量标识,不允许添加以其命名或以其为前缀的环境变量。
-
环境变量总数不超过1000个。
-
表单格式编辑
点击“新增变量”,输入key和value值,如下图中所示,env1为环境变量的key值,test为value值。点击
可将变量删除。

-
JSON格式编辑
选中“JSON格式编辑”,在文本框中以key-value键值对JSON格式添加环境变量。当添加的环境变量比较多时,为了方便核对,可点击“format”对变量进行格式化排列。

-
-
“函数配置”页面配置完成后点击“下一步”。
触发器
进入“触发器”页面,可基于函数触发场景配置需要的触发器,本场景下添加HTTP触发器。“触发器类型”和“请求方式”保持默认选择,并配置“认证类型”,配置完成后点击“下一步”。

| 参数 | 说明 |
|---|---|
| 触发器类型 | HTTP触发器。 |
| 请求方式 | HTTP触发器目前仅支持POST请求方式。 |
| 认证类型 | HTTP触发器的认证类型。 - API客户端鉴权(Client适用):端侧网关认证,适用于来自APP客户端侧(即本地应用或者项目)的函数调用。 - API客户端鉴权(Server适用):云侧网关认证,适用于来自APP服务器侧(即云函数)的函数调用。 |
| 启用decode | 通过HTTP触发器触发函数时,对于contentType为“application/x-www-form-urlencoded”的触发请求,是否使用URLDecoder对请求body进行解码再传入到函数中。 |
函数代码
进入“函数代码”页面,配置“运行环境”、“内存配置”、“代码输入类型”等信息,配置完成后点击“下一步”。

| 配置项 | 说明 |
|---|---|
| 运行环境 | 函数容器的运行环境。请选择nodejs 20.x/latest,其中latest表示使用最新版本。 |
| 内存配置 | 函数容器所占有的内存大小,单位为MB,取值范围:500,1000,2000,4000。 |
| 代码输入类型 | 包括“在线编辑”与“*.zip文件”两种方式,默认值为“在线编辑”。 选择“*.zip文件”方式部署云函数时,入口方法文件的编写方法请参见入口方法。 |
| 函数入口 | 包括入口文件名称和入口方法名称,通过“.”连接。例如handler.myHandler,其中handler为入口文件名称,myHandler为入口方法名称。 nodejs运行环境下入口文件必须放置在函数部署包的根目录下,具体请参见准备函数部署包。 |
| 代码文件 | 用于在线编辑函数代码或上传函数部署包。 - “代码输入类型”配置项选择“在线编辑”时,可在创建函数界面集成的WebIDE区域在线编辑函数代码。WebIDE的详细使用方法见下文。 - “代码输入类型”配置项选择“*.zip文件”时,点击即可上传函数部署包,也可直接拖曳zip文件至虚线框内。 |
WebIDE
当“代码输入类型”配置项选择“在线编辑”时,创建函数界面中集成了WebIDE功能,支持在线编辑函数代码。
如果在函数实例已经运行的情况下进行函数代码或配置更新,AGC后台会滚动更新函数实例,请耐心等待10-20秒。
WebIDE从左至右分两个部分:目录树、代码编辑器和最大化,如下图所示。编辑完成后平台会生成部署包并上传。

| 组成 | 说明 |
|---|---|
| 目录树 | 目录树支持如下能力: - 新增文件夹:选中一个文件或文件夹,点击右上角新增文件夹按钮“”。若选中的是文件夹,则新增一个子文件夹。若选中的是文件,则新增一个同级文件夹。 - 新增文件:选中一个文件或文件夹,点击右上角新增文件按钮“”。若选中的是文件夹,则新增一个子文件。若选中的是文件,则新增一个同级文件。 - 删除文件:选中一个文件或文件夹,点击右侧删除按钮“”,删除文件或文件夹。不允许删除根目录。 - 重命名:双击文件或文件夹,输入新名称(仅支持字母、数字、下划线和中划线),完毕后按Enter键完成重命名。 |
| 编辑器 | 编辑器具有如下能力: - 语法高亮:按照node.js语法高亮显示代码。 - 语法校验:语法有错误时会给出错误提示。 - 代码提示:输出代码自动给出相关代码提示。 - 代码填充:选择后系统代码可自动填充。 - 格式化:快捷键Ctrl+Shift+B。 - 支持快捷键操作:Ctrl+v, Ctrl+c, Ctrl+z, Ctrl+x, Ctrl+f, Ctrl+/等。 |
| 最大化 | 点击最大化按钮,可以最大化在线编辑区,再次点击按钮或按ESC键退出最大化。 |
层配置
层可以提供公共依赖库的发布与部署能力。开发者可以将函数依赖的公共库和相关依赖项提炼到层,通过为函数绑定层,便可以在函数中使用库,而不必将库包含在函数的代码包中,从而达到缩小函数代码包体积与缩短函数部署时间的效果,也避免了使用函数代码安装和打包依赖项时可能出现的错误。详细的层管理功能,请参见层管理。
如果尚未创建层,可跳过下述步骤,直接点击页面底部的“创建”完成函数定义,后续创建层之后可在函数详情页再进行层配置,为函数绑定层。如果在创建函数之前已创建层,可按照下述步骤进行操作。
-
进入“层配置”页面,点击“绑定层”。

-
在右侧弹出的“绑定层”界面中,下拉框选择“层名称”和“版本”,“层范围”等信息根据层的配置将被自动填充,完成层绑定后点击“确定”。一个函数最多可以绑定5个层。
选择层时,层的兼容运行时需与函数运行环境相符,系统会自动完成过滤。如果无匹配的层,请参考创建层创建相同运行环境的层后再进行绑定。

参数 说明 层名称 层的名称。重复时自动在同名的层中创建一个新版本。 版本 存在多个层版本时,选择函数绑定的层版本。 层范围 层的共享范围。 - 项目内共享 - 团队内共享 兼容运行时 层使用的语言环境。请选择“nodejs”。 层描述 层的附加说明,长度不超过1024位。 -
返回到“层配置”界面,绑定成功的层将展示在层列表中。如果需要解除层与函数的绑定关系,点击“解绑”即可。

-
按照“函数配置 -> 触发器 -> 函数代码 -> 层配置”顺序配置过程中,如果需要修改前面步骤中的配置,可点击“上一步”进行回退,配置完成后点击“创建”提交函数定义。
更多信息
函数配置完成后,可以修改函数高级配置。