引入
ts
import { watchRainbowToCosAndSendRobot, syncRainbowToCOS } from 't-comm';
// 不支持 tree-shaking 的项目
import { watchRainbowToCosAndSendRobot, syncRainbowToCOS} from 't-comm/lib/rainbow-to-cos/index';
// 只支持 ESM 的项目
import { watchRainbowToCosAndSendRobot, syncRainbowToCOS} from 't-comm/es/rainbow-to-cos/index';watchRainbowToCosAndSendRobot(options)
描述:
监听rainbow,同步到cos,并发送到机器人
参数:
| 参数名 | 类型 | 描述 |
|---|---|---|
| options | object | 配置 |
| options.rainbowSecretInfo | object | 七彩石密钥信息 |
| options.cosInfo | object | 腾讯云信息 |
| options.appName | string | 七彩石项目名称 |
| options.webhookUrl | string | 机器人回调 |
| options.chatId | string | 会话id |
| options.sendToRobotType | 0 | 1 | 2 | 发送机器人类型,0 不发送,1 发送变化的部分,2 全部发送 |
示例
typescript
await watchRainbowToCosAndSendRobot({
rainbowSecretInfo: {
appID: RAINBOW_OPEN_APP_ID,
userID: RAINBOW_OPEN_YGW_USER_ID,
secretKey: RAINBOW_OPEN_YGW_SECRET_KEY,
envName: 'Default',
groupName: 'group',
},
appName: 'configApp',
cosInfo: {
secretId,
secretKey,
bucket: 'bucket',
region: 'ap-guangzhou',
dir: 'rb',
},
webhookUrl: 'xxx',
chatId: 'xxx',
sendToRobotType: 1,
});syncRainbowToCOS(configList, secretInfo, appName, cosInfo)
描述:
同步 Rainbow 配置到腾讯云 COS 将远程配置列表保存为本地文件,然后上传到 COS,最后清理临时文件
参数:
| 参数名 | 描述 |
|---|---|
| configList | 远程配置列表 |
| secretInfo | 密钥信息(包含 groupName、envName 等) |
| appName | 应用名称 |
| cosInfo | COS 配置信息 |
| cosInfo.secretId | 腾讯云 SecretId |
| cosInfo.secretKey | 腾讯云 SecretKey |
| cosInfo.bucket | COS 存储桶名称 |
| cosInfo.region | COS 区域 |
| cosInfo.dir | COS 目录路径 |
示例
ts
syncRainbowToCOS({
configList: [
{ key: 'config1', value: 'value1', valueType: 'string' }
],
secretInfo: {
groupName: 'my-group',
envName: 'production'
},
appName: 'my-app',
cosInfo: {
secretId: 'xxx',
secretKey: 'xxx',
bucket: 'my-bucket',
region: 'ap-guangzhou',
dir: 'configs'
}
}).then(() => {
console.log('同步完成');
});