管理函数

本文介绍函数的属性和运行环境,以及如何通过MemFire Cloud控制台创建函数、更新函数、删除函数等操作。

云函数支持的函数运行环境列表

运行环境说明操作系统架构
Node.js 12Node.js 12版本Linuxx86_64
Node.js 14Node.js 14版本Linuxx86_64
Node.js 16Node.js 16版本Linuxx86_64

云函数的默认配置

免费版的云函数默认配置:

运行环境CPU内存磁盘并发运行数
Node.js 140.2 核256 MB512MB10

创建函数

操作前提

  • 已创建应用

操作说明

1.登录MemFire Cloud平台,进入我的应用->某应用->云函数页;

2.在云函数页面,单击新建函数

3.在创建云函数弹框中,点配置以下配置项,然后单击保存

  • 基础信息:设置函数的基本信息,包括函数名称、请求处理程序。
配置项说明
函数名函数名称,必填项;只能包含字母、数字、下划线;不能以数字开头,长度在 1-64 之间;同一应用下的云函数不能重名;
请求处理程序即函数入口,默认为index.handler;在“运行环境”为 Node.js 时,当前值的格式为 [文件名].[函数名]
  • 函数配置:配置函数的代码和运行环境。
配置项说明
上传代码包支持ZIP包上传代码;ZIP文件大小不能超过20Mb, 且index.js必须在ZIP文件的根目录下,采用handler函数为入口函数;
运行环境目前MemFire Cloud云函数仅支持JavaScript语言,支持的运行环境包括:Node.js 12 Node.js 14 Node.js 16
执行超时时间设置超时时间。执行超时时间默认为60秒,最长为86400秒。建议您将此值设置为 600 秒。如果函数在这个时间内未能成功执行,函数计算会返回超时错误,请设置大小合适的超时时间,避免函数执行超时。
访问方法访问方法包括:GET、POST、PUT、DELETE、OPTIONS、HEAD、PATCH
函数描述函数描述信息;
  • 打包方式:先进入您的函数代码目录,在全选所有文件以后(包括 node_modules 文件夹),单击鼠标右键,选择压缩为 ZIP 包,生成代码包。或者您也可以在代码包的根目录下执行zip -rq -y code.zip ./命令进行打包。Linux,Unix的系统环境下,使用zip命令打包,不要使用tar命令;
  • 环境变量:配置函数运行环境中的环境变量。可以配置多个环境变量,详见:环境变量
  • 函数生命周期回调:配置函数实例的生命周期回调,初始化(Initializer)函数

    • 在函数实例启动成功之后,运行请求处理程序(Handler)之前执行;
    • 云函数保证在一个实例生命周期内,成功且只成功执行一次Initializer回调;
配置项说明
Initializer程序入口在“运行环境”为 Node.js 时,当前值的格式为 [文件名].[函数名];Initializer函数执行入口,默认为index.Initializer
Initializer超时时间执行 Initializer 回调程序的超时时间,开启Initializer回调时为必填项,默认为3,单位秒。最小1秒,最长5分钟,即300秒;初始化函数超过这个时间后会被终止执行;

上传压缩包步骤

1.在您的项目目录下执行npm install '依赖包名'安装依赖库到当前目录。

2.打包您的项目目录下所有文件。

  • Linux或macOS系统

    • 进入您的项目目录,执行zip code.zip -r./*

    • 说明请确保您具有该目录的读写权限。

    • Windows系统

进入您的项目目录,选中所有文件,单击鼠标右键,选择打包为ZIP包。

说明请确保您创建的index.js文件位于包的根目录。

备注说明:免费版应用,最多支持创建5个云函数;

更新函数

操作前提

  • 已创建云函数

操作说明

1.登录MemFire Cloud平台,进入我的应用->某应用->云函数页。

2.在云函数页面,单击目标云函数操作列的编辑

3.在编辑云函数的配置页面,按需修改相应的配置项,单击保存

  • 函数配置:配置函数的代码和运行环境。
  • 环境变量:配置函数运行环境中的环境变量,详见:环境变量
  • 函数生命周期回调:配置函数实例的生命周期回调,初始化(Initializer)函数

删除函数

操作前提

  • 已创建云函数

操作说明

1.登录MemFire Cloud平台,进入我的应用->某应用->云函数页;

2.在云函数页面,单击目标云函数操作列的删除;

3.在删除云函数弹框中,点击确认,则删除云函数成功,释放相关资源;