tcb fn invoke
调用已部署的云函数。
前置条件
- 已执行
tcb login,并已指定环境。 - 函数已部署,可通过
tcb fn list确认。
语法
tcb fn invoke [options] [name]
不指定 name 时,调用项目配置文件中声明的全部函数。
参数
| 参数 | 必填 | 说明 | 默认值 |
|---|---|---|---|
[name] | 否 | 函数名称 | 配置文件中全部函数 |
-d, --data <data> | 否 | 请求数据,JSON 字符串或 @文件名 | — |
--params <params> | 否 | 请求数据,JSON 字符串。兼容旧写法,推荐用 -d | — |
-X, --method <method> | 否 | HTTP 方法,支持 GET、POST、PUT、DELETE、PATCH,仅对 HTTP 函数有效 | — |
-H, --header <header> | 否 | 自定义请求头,格式 "Key: Value",可重复,仅对 HTTP 函数有效 | — |
-i, --include | 否 | 输出中包含响应头,仅对 HTTP 函数有效 | — |
--api-key <apiKey> | 否 | 管理端 API Key,用于调用 HTTP 函数并跳过 access_token 换取流程 | — |
--json | 否 | 以 JSON 格式输出 | — |
-e, --env-id <envId> | 否 | 环境 ID | 取当前默认环境 |
示例
Event 函数接收 event 对象:
# 无参数调用
tcb fn invoke hello
# 传 JSON 参数
tcb fn invoke hello -d '{"userId":"123","action":"query"}'
# 参数从文件读取
tcb fn invoke hello -d @data.json
HTTP 函数按 HTTP 语义调用:
# POST 请求
tcb fn invoke myHttpFunc -X POST -d '{"name":"test"}'
# 带请求头
tcb fn invoke myHttpFunc -X GET -H "Authorization: Bearer xxx"
# 输出响应头
tcb fn invoke myHttpFunc -X GET -i
# 使用 API Key 跳过 access_token 换取
tcb fn invoke myHttpFunc -X POST -d '{"name":"test"}' --api-key <apiKey>
输出
Event 函数返回函数 main 的执行结果。
HTTP 函数返回响应体,加 -i 时附带响应头。--json 输出结构化结果。
注意事项
-X、-H、-i只对 HTTP 函数生效,用于 Event 函数会被忽略。--params为兼容参数,新脚本使用-d。-d的值以@开头时按文件路径读取,其余按 JSON 字符串解析。
相关命令
tcb fn deploy:部署函数tcb fn detail:查看函数类型与配置