安装 ACM Node.js 版客户端
ACM Node.js 版客户端主要用于帮助前端开发解决前后端独立发布,开发与运营独立问题,大幅提升开发效率。
输入以下命令安装客户端:
npm i acm-client --save
示例代码
在您的工程中运行以下代码进行配置管理。
const { ACMClient } = require('acm-client');
const co = require('co');
const acm = new ACMClient({
endpoint: 'acm.aliyun.com', // ACM 控制台查看
namespace: '***************', // ACM 控制台查看
accessKey: '***************', // ACM 控制台查看
secretKey: '***************', // ACM 控制台查看
requestTimeout: 6000, // 请求超时时间,默认 6s
});
// 主动拉取配置
co(function*() {
const content= yield acm.getConfig('test', 'DEFAULT_GROUP');
console.log('getConfig = ',content);
});
// 监听数据更新
acm.subscribe({
dataId: 'test',
group: 'DEFAULT_GROUP',
}, content => {
console.log(content);
});
Error Events 异常处理
acm.on('error', function (err) {
// 可以在这里统一进行日志的记录
// 如果不监听错误事件,所有的异常都将会打印到 stderr
});
接口说明
-
获取配置接口
用于服务启动的时候从 ACM 获取配置。
function* getConfig(dataId, group)
-
请求参数
参数名 参数类型 描述 dataId string 配置 ID,采用类似 package.class(如com.taobao.tc.refund.log.level)的命名规则保证全局唯一性,class 部分建议是配置的业务含义。全部字符小写。只允许英文字符和 4 种特殊字符(”.”、”:”、”-“、”_”),不超过 256 字节。 group string 配置分组,建议填写产品名:模块名(如 ACM:Test)保证唯一性,只允许英文字符和 4 种特殊字符(”.”、”:”、”-“、”_”),不超过 128 字节。 -
返回值
参数类型 描述 string 配置值 -
监听配置接口
如果希望 ACM 推送配置变更,可以使用 ACM 动态监听配置接口来实现。
function subscribe(info, listener)
-
请求参数
参数名 参数类型 描述 info Object info.dataId:配置 ID。 info.group:配置分组 listener Function 监听器,配置变更进入监听器的回调函数。 -
取消配置监听接口
用于服务启动的时候取消配置监听。
function unSubscribe(info, [listener])
-
请求参数
参数名 参数类型 描述 info Object info.dataId:配置 ID。 info.group:配置分组 listener Function 回调函数(可选,不传就移除所有监听函数)。