管理接口
更新时间:2019-06-18
新建TsdbAdminClient
Plain Text
1var TsdbAdminClient = require('@baiducloud/sdk').TsdbAdminClient;
2
3const config = {
4 endpoint: <Endpoint>, // 管理接口的域名地址,形如tsdb.{region}.baidubce.com,注意:与新建TsdbClient时使用的endpoint不同。
5 credentials: {
6 ak: <AccessKeyID>, // 用户的Access Key ID
7 sk: <SecretAccessKey> // 用户的Secret Access Key
8 }
9};
10
11// 初始化一个TsdbAdminClient
12const client = new TsdbAdminClient(config);
创建时序数据库实例
基本流程
- 创建TsdbAdminClient。
- 执行createDatabase()方法,您需要设置数据库的各个信息,具体参考API设计文档。
示例代码如下:
Plain Text
1// 设置实例各参数
2var databaseName = "test"; // 实例的名字
3var clientToken = UUID.v4(); // ClientToken, 用于保证幂等性,重试发送创建请求时,使用同一个clientToken。
4var description = 'This is just a test for TSDB.'; // 实例描述,可不填写
5var ingestDataPointsMonthly = 1; // 写入额度,单位:百万点/月
6var storeBytesQuota = 1; // 存储空间额度,单位:GB
7var purchaseLength = 1; // 购买时长,单位:月
8var couponName = <your-coupon-name>; // 代金券号,可不填写
9
10// 创建并返回创建结果
11client.createDatabase(clientToken, databaseName, ingestDataPointsMonthly, purchaseLength, description,storeBytesQuota)
12 .then(response => console.log(response.body)) // 创建成功
13 .catch(error => console.error(error)); // 创建失败,并返回错误类型
14
返回值所包含字段请参考API文档。
删除时序数据库实例
基本流程
- 创建TsdbAdminClient。
- 执行deleteDatabase()方法,您需要提供将要删除的database的databaseId。
示例代码如下:
Plain Text
1// 删除实例的ID
2var databaseId = 'tsdb-dvb9we5yfkcc';
3
4// 删除实例并返回结果
5client.deleteDatabase(databaseId)
6 .then(response => console.log(response)) // 删除成功
7 .catch(error => console.error(error)); // 删除失败,并返回错误类型
8
注意,只允许删除到期的时序数据库实例,否则将报错。
执行结果:
Plain Text
1// 删除失败(一般为数据库未到期)
2{
3 status_code: 400,
4 message: 'Can not delete unexpired database',
5 code: 'DeleteUnexpiredDatabaseFailed',
6 request_id: '2a92ae76-87a2-432f-92a9-a426d2b447b6'
7 }
8// 删除成功(数据库到期)
9 body: {}
获取时序数据库实例
基本流程
- 创建TsdbAdminClient。
- 执行getDatabaseInfo()方法,您需要提供将要获取的database的databaseId。
示例代码如下:
Plain Text
1// 获取实例的ID
2var databaseId = 'tsdb-dvb9we5yfkcc';
3
4// 获取实例并返回实例信息
5client.getDatabaseInfo(databaseId)
6 .then(response => console.log(response.body)) // 获取成功,返回信息列表
7 .catch(error => console.error(error)); // 获取失败,并返回错误类型
执行结果:
Plain Text
1// 终端返回类似结果
2{
3 databaseId: 'tsdb-tfu33g88m658',
4 databaseName: 'testgeturl',
5 description: '',
6 endpoint: 'testgeturl.tsdb.iot.gz.baidubce.com',
7 quota: {
8 ingestDataPointsMonthly: 1
9 },
10 status: 'Active',
11 autoExport: false,
12 createTime: '2017-10-11T08:51:09Z',
13 expiredTime: '2017-11-11T08:51:09Z'
14}
获取时序数据库实例列表
基本流程
- 创建TsdbAdminClient。
- 执行listDatabase()方法。
示例代码如下:
Plain Text
1// 获取并返回结果
2client.listDatabase()
3 .then(response => console.log(response.body)) // 获取成功,返回包含每个数据库的信息的列表
4 .catch(error => console.error(error)); // 删除失败,并返回错误类型
执行结果:
Plain Text
1// 终端返回类似结果,会打印所有database
2[
3 {
4 "databaseId": "tsdb-dvb9we5yfkcc",
5 "databaseName": "viztest",
6 "description": "Ownedby物可视,Don\'tremove",
7 "endpoint": "viztest.tsdb.iot.gz.baidubce.com",
8 "quota": {
9 "ingestDataPointsMonthly": 100
10 },
11 "status": "Active",
12 "autoExport": "false",
13 "createTime": "2017-06-14T07:41:46Z",
14 "expiredTime": "2018-06-14T07:41:47Z"
15 },
16 {
17 "databaseId": "tsdb-n88psnkq965c",
18 "databaseName": "vizyingyan",
19 "description": "物可视地图测试数据",
20 "endpoint": "vizyingyan.tsdb.iot.gz.baidubce.com",
21 "quota": {
22 "ingestDataPointsMonthly": 10
23 },
24 "status": "Active",
25 "autoExport": "false",
26 "createTime": "2017-06-20T04:01:03Z",
27 "expiredTime": "2018-06-20T04:01:03Z"
28 }
29]
30