跳到主要内容

转发版本

路由的 upstreamResourceVersion 字段指定请求转发到云函数的哪个版本。

v3.8.10+

upstreamResourceVersion 自 v3.8.10 起支持,作用于 SCF 与 WEB_SCF 路由,其他上游类型忽略该字段。

取值​

取值语义
版本号(1、2…)转发到指定版本,该版本须已发布
$LATEST转发到最新版本,随新版本发布自动切换
$DEFAULT转发到资源,流量比例由资源侧版本配置决定,为字段缺省值

各命令的行为​

命令行为
tcb routes add 缺省字段服务端按 $DEFAULT 处理
tcb routes edit 缺省字段保留现有绑定,不做修改
tcb routes edit 传 $DEFAULT清除版本绑定,恢复资源侧流量控制
tcb routes list「上游版本」列输出当前绑定值,未绑定时为 -;--json 输出字段为 upstreamResourceVersion

⚠️ 域名预检 VerifyHTTPServiceRoute 不识别该字段,CLI 在预检前自动剔除。预检只覆盖域名归属、配额与路径冲突,不校验版本是否存在;版本无效时由创建或修改接口返回错误。

使用​

版本号须为已发布的函数版本。发布新版本用 tcb fn publish-version,部署命令只更新 $LATEST,不产生版本号。

版本绑定作用于整条路由,不支持权重。需要按比例分发时用 $DEFAULT,由函数侧的别名流量配置控制。

# 新版本单独一条路由,验证后再切换主路由
tcb routes add -e <envId> --data '{"domain":"api.example.com","routes":[{"path":"/func-canary","upstreamResourceType":"SCF","upstreamResourceName":"my-function","upstreamResourceVersion":"3"}]}'

tcb routes edit -e <envId> --data '{"domain":"api.example.com","routes":[{"path":"/func","upstreamResourceVersion":"3"}]}'