更新集成配置
使用 tcb config update integration 命令将 cloudbaserc.json 中的集成配置推送到云端。
tcb config update integration [keyId] [options]
命令参数
| 参数 | 说明 | 必填 |
|---|---|---|
[keyId] | 集成实例标识(Key ID) | 否(与 --all 二选一) |
--all | 推送 配置文件中所有集成的配置 | 否 |
-e, --env-id <envId> | 环境 ID | 否 |
--yes | 跳过交互确认(默认使用合并更新模式) | 否 |
使用示例
推送单个集成配置
# 推送单个集成的配置
tcb config update integration key-721a6e232e169382d3cbc5faa3dc2cd6
# 自动确认,跳过交互提示
tcb config update integration key-721a6e232e169382d3cbc5faa3dc2cd6 --yes
批量推送所有集成配置
# 推送配置文件中所有集成的配置
tcb config update integration --all
# 自动确认,跳过交互提示
tcb config update integration --all --yes
推送行为
- 读取本地配 置:从
cloudbaserc.json的integrations字段读取集成配置。 - 匹配云端实例:根据配置中的
keyId字段匹配云端已有的集成实例。 - 智能合并(默认模式):
- 本地与云端配置合并,本地覆盖同名字段
- 本地未配置的字段保持云端值不变
- 本地显式设置为空字符串
''的字段,会清除云端对应字段 - 本地值为
******(MASK 占位符)的字段,跳过更新,保留云端原值
- 覆盖更新(
--yes模式):- 用本地配置完全替换云端配置
- 未在本地配置的字段将被删除
配置文件格式
集成配置在 cloudbaserc.json 中通过 integrations 字段定义:
{
"integrations": [
{
"keyId": "key-721a6e232e169382d3cbc5faa3dc2cd6",
"name": "myPayment",
"authTypeCode": "weixinpaydc",
"description": "微信支付集成",
"envVariables": {
"mch_id": "your-mch-id",
"api_key": "your-api-key"
},
"demoCodeFunctionName": "demo-payment"
}
]
}
配置字段说明
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
keyId | string | 是 | 集成实例唯一标识(用于匹配云端实例) |
name | string | 否 | 集成实例名称(仅用于显示,未填写时使用 keyId 作为默认值) |
authTypeCode | string | 是 | 认证类型 Code |
description | string | 否 | 集成实例描述 |
envVariables | object | 否 | 环境变量配置(key-value 对) |
demoCodeFunctionName | string | 否 | 要绑定的云函数名称 |
注意:
keyId字段是必填的,用于匹配云端集成实例name字段是可选的,仅用于显示,未填写时使用keyId作为默认值- 敏感字段(如
api_key)在tcb config init integration后会显示为******占位符,推送时不会覆盖云端真实值- 回调地址(
notify_url等)由系统自动生成,无需手动配置
从文件读取字段值(@ 文件引用语法)
对于多行文本或较长的敏感内容(如微信支付的 privateKey、apiV3Key),可以在 envVariables 的值中使用 @ 前缀直接引用文件,推送时会自动读取文件内容作为字段值:
{
"envVariables": {
"apiV3Key": "@./secrets/apiv3key.txt",
"privateKey": "@./secrets/apiclient_key.pem"
}
}
@./certs/key.pem:相对路径(相对于cloudbaserc.json所在目录)@/absolute/path/key.pem:绝对路径- 非
@开头的普通字符串按字面值处理
详细说明见创建集成 - 从文件读取字段值。
环境变量更新模式
更新集成配置时,支持两种环境变量更新模式:
1. 合并更新(默认)
- 本地与云端环境变量合并
- 本地覆盖同名变量
- 本地未配置的变量保持云端值不变
- 推荐用于生产环境,避免误删云端配置
2. 覆盖更新
- 用本地环境变量完全替换云端环境变量
- 未在本地配置的变量将被删除
- 使用
--yes参数时采用此模式
注意事项
- 认证类型(
authTypeCode)创建后不可修改 - 配置文件中必须包含
keyId字段,否则会报错 - 敏感字段在配置文件中显示为
******占位符时,推送时会保留云端原值 - 若本地配置显式设置为空字符串(如
demoCodeFunctionName: ""),会清除云端对应字段