跳到主要内容

本地运行

使用本地运行命令可以在开发环境中运行和调试云函数,无需部署到云端。

提示

tcb fn run 当前仅支持 Node.js 运行时。若需要本地运行函数型云托管服务,请参考 CloudRun 本地运行

基本用法

tcb fn run [options]

tcb fn run 支持两种调用方式:

  • 通过路径运行(--path:直接指定云函数目录,使用默认配置运行,无需 cloudbaserc.json 配置文件。
  • 通过名称运行(--name:读取当前项目 cloudbaserc.jsonfunctions 对应函数的配置(handlerenvVariablesparams 等)进行运行。

命令行参数

参数说明必填
--path <path>云函数所在路径,使用默认配置直接调用,无需配置文件--name 二选一
--name <name>云函数名称,从 cloudbaserc.json 读取对应函数配置进行调用--path 二选一
--params <params>调用函数传入的参数,JSON 字符串格式
--debug启动调试模式(Node Inspector)
--port <port>调试模式监听端口,默认为 9229
-h, --help查看命令帮助信息

使用示例

通过路径运行

指定函数目录,目录下需包含 index.js,并导出 main 方法:

# 使用默认配置运行 ./functions/app 下的函数
tcb fn run --path ./functions/app

通过名称运行

在项目根目录下需存在 cloudbaserc.json,并在 functions 中配置对应函数:

tcb fn run --name app

此时会根据 cloudbaserc.json 中的 handlerenvVariablesparams 等配置来运行函数。关于配置文件详见 函数配置

传入调用参数

参数需为合法的 JSON 字符串:

tcb fn run --name app --params '{"userId": "123", "action": "query"}'

若同时在 cloudbaserc.json 中的函数配置里设置了 params,命令行传入的 --params 优先级更高。

启动调试模式

启用 --debug 后,会以 Node Inspector 模式启动,可使用 Chrome DevTools、VS Code 等调试器连接对应端口进行断点调试:

# 使用默认端口 9229
tcb fn run --path ./functions/app --debug

# 指定调试端口
tcb fn run --path ./functions/app --debug --port 9230

注意事项

  • 仅支持 Node.js 运行时:其他语言(Python、Java、Go、PHP 等)暂不支持通过 tcb fn run 本地运行。
  • 函数入口约定
    • 使用 --path 时,目录下必须存在 index.js,并导出 main 方法;
    • 使用 --name 时,会按 cloudbaserc.json 中的 handler(默认 index.main)解析入口文件和函数名。
  • 本地临时密钥:若当前已登录 CLI,运行时会自动注入 TENCENTCLOUD_SECRETIDTENCENTCLOUD_SECRETKEYTENCENTCLOUD_SESSIONTOKEN 环境变量,函数中可直接使用 Node SDK 调用云开发资源;未登录时不会注入,涉及云开发资源调用可能会失败。