本地运行
使用本地运行命令可以在开发环境中运行和调试云函数,无需部署到云端。
提示
tcb fn run 当前仅支持 Node.js 运行时。若需要本地运行函数型云托管服务,请参考 CloudRun 本地运行。
基本用法
tcb fn run [options]
tcb fn run 支持两种调用方式:
- 通过路径运行(
--path):直接指定云函数目录,使用默认配置运行,无需cloudbaserc.json配置文件。 - 通过名称运行(
--name):读取当前项目cloudbaserc.json中functions对应函数的配置(handler、envVariables、params等)进行运行。
命令行参数
| 参数 | 说明 | 必填 |
|---|---|---|
--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 中的 handler、envVariables、params 等配置来运行函数。关于配置文件详见 函数配置。
传入调用参数
参数需为合法的 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_SECRETID、TENCENTCLOUD_SECRETKEY、TENCENTCLOUD_SESSIONTOKEN环境变量,函数中可直接使用 Node SDK 调用云开发资源;未登录时不会注入,涉及云开发资源调用可能会失败。