跳到主要内容

tcb config update

把 cloudbaserc.json 中的配置推送到云端,同步本地与云端的资源配置。

语法​

tcb config update <module> [name] [options]

<module> 为资源模块:

模块说明
fn推送云函数配置
integration推送集成配置

参数​

参数必填说明默认值
[name]否资源名称,与 --all 二选一—
--all否推送配置文件中所有资源的配置false
-e, --env-id <envId>否环境 ID—
--timeout <timeout>否云函数超时时间,单位为秒—
--memory <memory>否云函数内存大小,单位为 MB—
--runtime <runtime>否云函数运行时—
--handler <handler>否云函数入口—
--vpc <vpcId/subnetId>否云函数 VPC,格式为 vpcId/subnetId—
--env <key=value>否云函数环境变量,可重复传入—
--env-mode <mode>否环境变量更新模式:merge(合并)/ overwrite(覆盖)交互询问
--yes否跳过交互确认false

示例​

# 推送单个云函数
tcb config update fn hello

# 批量推送配置文件中所有云函数
tcb config update fn --all

# 推送单个集成
tcb config update integration myPayment

# 批量推送所有集成并跳过确认
tcb config update integration --all --yes

通过 CLI 参数直接改单个配置项,不必先改配置文件:

# 更新超时时间
tcb config update fn myFunc --timeout 60 -e envId --yes

# 更新内存
tcb config update fn myFunc --memory 512 -e envId --yes

# 环境变量合并,保留云端原有变量
tcb config update fn myFunc --env DB_HOST=127.0.0.1 --env-mode merge -e envId --yes

# 环境变量覆盖,替换云端全部变量
tcb config update fn myFunc --env DB_HOST=127.0.0.1 --env-mode overwrite -e envId --yes

# 一次改多项
tcb config update fn myFunc --timeout 30 --memory 256 --env NODE_ENV=production -e envId --yes

推送行为​

云函数配置:

  1. 从 cloudbaserc.json 的 functions 字段读取配置
  2. 参数优先级:CLI 参数 > 配置文件
  3. 配置中含环境变量时询问更新方式:覆盖用本地变量整体替换云端,合并则本地同名变量覆盖云端、其余保留
  4. --all 推送配置文件中所有函数

集成配置:

  1. 从 integrations 字段读取配置
  2. 按 keyId 匹配云端已有实例
  3. 可选字段显式设为空字符串 '' 时清空云端对应字段;必填字段本地未指定时保留云端原值
  4. --all 推送所有集成

集成字段的合并规则见更新集成配置。