跳到主要内容

云函数管理

使用云函数管理命令可以查看、调用、复制和删除云函数,以及管理函数版本。

查看函数列表

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...),内容不可修改