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

应用名称

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