@alicloud/acm-sdk
Version:
aliyun acm sdk
144 lines (83 loc) • 3.49 kB
Markdown
# Aliyun ACM Client for Node.js
[](https://badge.fury.io/js/@alicloud%2facm-sdk.svg)
[](https://travis-ci.org/aliyun/nodejs-acm-sdk)
[](https://codecov.io/gh/aliyun/nodejs-acm-sdk)
[](LICENSE)
## Installation
```bash
npm install @alicloud/acm-sdk
```
**Node.js >= 8.5.0** required.
## Usage
```js
const ACMClient = require('@alicloud/acm-sdk');
const acm = new ACMClient({
endpoint: 'acm.aliyun.com', // check this from acm console
namespace: '***************', // check this from acm console
accessKey: '***************', // check this from acm console
secretKey: '***************', // check this from acm console
requestTimeout: 6000, // timeout(ms),default 6s
});
async function demo() {
// get config
const content = await acm.getConfig('test', 'DEFAULT_GROUP');
console.log('getConfig = ', content);
// get all configs
const allConfig = await amc.getAllConfigInfo();
console.log('all config:', allConfig);
// subscribe config
acm.subscribe({
dataId: 'test',
group: 'DEFAULT_GROUP',
}, content => {
console.log('config update:', content);
});
// publish config
await acm.publishSingle('test', 'DEFAULT_GROUP', JSON.stringify({value: 'test'}));
// delete config
await acm.remove('test', 'DEFAULT_GROUP');
// batch get config
const contents = await amc.batchGetConfig(['test', 'test1'], 'DEFAULT_GROUP');
console.log('batch get configs = ', contents);
}
demo();
```
## API Doc
### Method: `getConfig(dataId, group)`
#### Arguments
* **dataId** String - check this from acm console
* **group** String - check this from acm console
#### Returns
* **config** String - your config
### Method: `getAllConfigInfo()`
#### Returns
* **configInfoList** Array - your all config info, like `[{appName: 'xxx', dataId: 'xxx', group: 'xxx'}, ...]` , then you can get config with this info
### Method: `subscribe(info, listener)`
#### Arguments
* **info** Object
* **dataId** String - check this from acm console
* **group** String - check this from acm console
* **listener** Function - callback function, will be called when your acm config updated
* **config** String - callback argument, new config
### Method: `publishSingle(dataId, group, config)`
#### Arguments
* **dataId** String - check this from acm console
* **group** String - check this from acm console
* **config** String - new config content
### Method: `unSubscribe(info, [listener])`
- **info** Object
- **dataId** String - check this from acm console
- **group** String - check this from acm console
- **listener** Function - optional listener, will remove all listeners if you don't set
### Method: `remove(dataId, group)`
#### Arguments
* **dataId** String - check this from acm console
* **group** String - check this from acm console
### Method: `batchGetConfig(dataIds, group)`
#### Arguments
* **dataIds** Array - list of acm dataId, like [dataId1, dataId2, ...], dataId must be String, you can check this from acm console
* **group** String - check this from acm console
### Returns
* **configList** Array - list of configs
## License
[MIT](LICENSE)