函数管理

最近更新时间:2020-05-14 10:45:52

注意:

所有 CloudBase CLI 命令均在配置文件所在目录执行。

云函数是一段运行在云端的代码,无需管理服务器,在开发工具内编写、一键上传部署即可运行后端代码。云开发中的云函数可让用户将自身的业务逻辑代码上传,并通过云开发的调用触发函数,从而实现后端的业务运作。

查看函数

您可以使用下面的命令列出所有云函数,查看函数的基本信息:

cloudbase functions:list

您会得到类似下面的输出:

指定返回条数和偏移量

默认情况下,functions:list 命令只会列出前 20 个函数,如果您的函数较多,需要列出其他的函数,您可以通过下面的选项指定命令返回的数据长度以及数据的偏移量:

-l, --limit <limit>    返回数据长度,默认值为 20
-o, --offset <offset>  数据偏移量,默认值为 0

如:

# 返回前 10 个函数的信息
cloudbase functions:list -l 10
# 返回第 3 - 22 个函数的信息(包含 3 和 22)
cloudbase functions:list -l 20 -o 2

下载云函数代码

您可以通过下面的命令下载云函数代码:

cloudbase functions:download <functionName> [destPath]

默认情况下,函数代码会下载到 functionRoot 下,以函数名称作为存储文件夹,您可以指定函数存放的文件夹地址,函数的所有代码文件会直接下载到指定的文件夹中。

触发函数

您可以在本地通过 CloudBase CLI 直接触发您的云函数:

# 触发 app 函数
cloudbase functions:invoke app

# 触发配置文件中的全部函数
cloudbase functions:invoke

查看函数详情

前面提到的 functions:list 命令只能查看函数的简单信息,如果您想查看函数的详细信息,您可以使用下面的命令:

# 查看 app 函数的详情
cloudbase functions:detail app

# 查看配置文件中的所有函数的详情
cloudbase functions:detail

输出

状态:部署完成
代码大小(B):1695
环境变量(key=value):key=value
函数名称:test
执行方法:index.main
内存配置(MB):256
修改时间:2019-08-19 21:15:39
环境 Id:dev-xxx
运行环境:Nodejs8.9
超时时间(S):20
网络配置:无
触发器:
myTrigger:{"cron": "0 0 2 1 * * *"}
函数代码(Java 函数以及入口大于 1 M 的函数不会显示):
'use strict';
exports.main = async (event, context, callback) => {
    console.log(event);
    return 'hello world'
};

删除函数

您可以通过下面的命令删除函数:

# 删除 App 函数
cloudbase functions:delete app

# 删除配置文件中的所有的函数
cloudbase functions:delete

复制函数

您可以通过下面的命令快速复制一个已经存在的函数:

# 复制 App 函数为 App2 函数
functions:copy app app2

使用 functions:copy 命令时需要指定原函数名称以及复制后新的函数名称。当前环境 Id 和目标环境环境 Id 是可选的,如果没有指定目标环境 Id,函数会被复制到当前环境中。

如果新函数的名称已经存在,则复制操作会被终止。如果您想要覆盖已经存在的函数,可以使用下面的命令。

覆盖同名函数

# 复制 App 函数为 App2 函数,如果 App2 函数存在,覆盖已经存在的 App2 函数
functions:copy app app2 --force
注意:

复制函数操作不会复制函数的触发器。

目录