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