Skip to content

引入

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,并发送到机器人

参数

参数名类型描述
optionsobject配置
options.rainbowSecretInfoobject七彩石密钥信息
options.cosInfoobject腾讯云信息
options.appNamestring七彩石项目名称
options.webhookUrlstring机器人回调
options.chatIdstring会话id
options.sendToRobotType0 | 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应用名称
cosInfoCOS 配置信息
cosInfo.secretId腾讯云 SecretId
cosInfo.secretKey腾讯云 SecretKey
cosInfo.bucketCOS 存储桶名称
cosInfo.regionCOS 区域
cosInfo.dirCOS 目录路径

示例

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('同步完成');
});