跳到主要内容

tcb fn run

在本地运行和调试云函数,无需部署到云端。

仅支持 Node.js

tcb fn run 当前只支持 Node.js 运行时。本地运行函数型云托管服务见 CloudRun 本地运行。

语法​

tcb fn run [options]

支持两种方式定位函数:

  • --path:直接指定函数目录,使用默认配置运行,不需要 cloudbaserc.json。
  • --name:读取当前项目 cloudbaserc.json 中 functions 对应函数的配置(handler、envVariables、params 等)后运行。

参数​

参数必填说明默认值
--path <path>与 --name 二选一函数所在路径,使用默认配置调用,不需要配置文件—
--name <name>与 --path 二选一函数名称,从 cloudbaserc.json 读取对应配置—
--params <params>否调用参数,JSON 字符串—
--debug否以 Node Inspector 模式启动—
--port <port>否调试监听端口9229

示例​

通过路径运行​

目录下需包含 index.js 并导出 main 方法。

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

通过名称运行​

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

tcb fn run --name app

按配置文件中的 handler、envVariables、params 运行。字段说明见 函数配置。

传入调用参数​

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

配置文件与命令行同时设置 params 时,命令行优先。

启动调试模式​

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

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

启动后可用 Chrome DevTools 或 VS Code 连接对应端口断点调试。

注意事项​

  • 只支持 Node.js,Python、Java、Go、PHP 等运行时无法通过 tcb fn run 本地运行。
  • 使用 --path 时,目录下必须有 index.js 并导出 main 方法。
  • 使用 --name 时,按 cloudbaserc.json 的 handler(默认 index.main)解析入口文件和函数名。
  • 已登录 CLI 时,运行过程自动注入 TENCENTCLOUD_SECRETID、TENCENTCLOUD_SECRETKEY、TENCENTCLOUD_SESSIONTOKEN,函数内可直接调用云开发资源。未登录时不注入,涉及云开发资源的调用可能失败。