云函数管理
使用云函数管理命令可以查看、调用、复制和删除云函数,以及管理函数版本。
查看函数列表
tcb fn list
命令参数:
| 参数 | 说明 | 默认值 |
|---|---|---|
-l, --limit <limit> | 返回数据长度 | 20 |
-o, --offset <offset> | 数据偏移量 | 0 |
使用示例:
# 查看所有函数
tcb fn list
# 查看前 10 个函数
tcb fn list -l 10
# 查看第 21-40 个函数
tcb fn list -l 20 -o 20
查看函数详情
tcb fn detail <functionName>
使用示例:
# 查看 app 函数的详细信息
tcb fn detail app
下载函数代码
tcb fn code download <functionName> [destPath]
参数说明:
| 参数 | 说明 | 必填 |
|---|---|---|
functionName | 函数名称 | 是 |
destPath | 下载目标路径 | 否 |
使用示例:
# 下载到默认目录
tcb fn code download app
# 下载到指定目录
tcb fn code download app ./my-functions/app
更新函数代码
tcb fn code update <functionName>
使用示例:
# 更新 app 函数的代码
tcb fn code update app
调用云函数
# 调用指定函数
tcb fn invoke <functionName>
# 调用配置文件中的所有函数
tcb fn invoke
传入参数:
# Linux / macOS
tcb fn invoke app --params '{"key1": "value1", "key2": "value2"}'
# Windows (需要转义双引号)
tcb fn invoke app --params "{\"key1\": \"value1\", \"key2\": \"value2\"}"
使用示例:
# 调用 app 函数(无参数)
tcb fn invoke app
# 调用函数并传入参数
tcb fn invoke app --params '{"userId": "123", "action": "query"}'
# 调用所有函数
tcb fn invoke
复制云函数
tcb fn copy <sourceName> <targetName>
使用示例:
# 复制 app 函数为 app2
tcb fn copy app app2
# 强制覆盖已存在的目标函数
tcb fn copy app app2 --force
删除云函数
# 删除指定函数
tcb fn delete <functionName>
# 删除配置文件中的所有函数
tcb fn delete
使用示例:
# 删除 app 函数
tcb fn delete app
# 删除所有函数
tcb fn delete
版本管理
发布新版本
tcb fn publish-version <functionName> [description]
参数说明:
| 参数 | 说明 | 必填 |
|---|---|---|
functionName | 函数名称 | 是 |
description | 版本描述 | 否 |
使用示例:
# 发布新版本(无描述)
tcb fn publish-version app
# 发布新版本并添加描述
tcb fn publish-version app "修复了登录逻辑问题"
# 发布包含功能更新的版本
tcb fn publish-version app "v1.2.0: 新增用户画像功能"
查看版本列表
tcb fn list-function-versions <functionName>
使用示例:
# 查看 app 函数的所有版本
tcb fn list-function-versions app
注意事项
下载函数代码:
- 如果不指定
destPath,代码会下载到functionRoot配置的目录下 - 下载后会自动创建以函数名称命名的文件夹
code update 与 deploy 的区别:
tcb fn code update仅更新函数代码和执行入口,速度更快tcb fn deploy更新代码、配置、触发器,功能更完整
复制云函数:
- 会复制函数代码、配置(超时、内存、环境变量、VPC等)、执行入口和运行时
- 不会复制函数的触发器,需要手动配置
- 如果目标函数名已存在,需要使用
--force参数强制覆盖
删除云函数:
- 删除操作不可恢复,请谨慎操作
- 删除前建议先使用
tcb fn code download备份函数代码 - 删除函数后,相关的触发器、日志等也会被清理
版本管理:
- 函数创建后默认具有一个
$LATEST版本(最新版本) - 仅
$LATEST版本的配置和代码支持修改 - 发布新版本时,以当前
$LATEST版本为基础创建不可变快照 - 已发布的版本号递增(1, 2, 3...),内容不可修改