管理API接口说明
更新时间:2022-03-04
创建database
方法 | API | 说明 |
---|---|---|
POST | /v1/database?clientToken={clientToken} | 创建database |
请求参数
参数名称 | 参数类型 | 是否必须 | 说明 |
---|---|---|---|
clientToken | String | 必须 | 用于保证接口幂等性 |
databaseName | String | 必须 | database的名称 |
description | String | 可选 | database的描述 |
ingestDataPointsMonthly | Int | 必须 | 写入额度,单位:百万点/月 |
queryUnitsMonthly | Int | 可选 | 查询额度,单位:万个/月 |
storeBytesQuota | Int | 可选 | 存储空间额度,单位:byte |
purchaseLength | Int | 必须 | 购买时长,单位:月 |
couponName | String | 可选 | 代金券号 |
支付说明: couponName不为空且是合法的代金券号,那么将优先使用代金券支付。 如果代金券金额不足时,则将使用代金券+账户余额支付。 如果代金券号不可用时,则使用账户余额支付。 当用户购买时长为10、11或12个月时,由于优惠政策,实际只需要10个月的花费,即可使用12个月的服务。
返回参数
参数名称 | 参数类型 | 说明 |
---|---|---|
databaseId | String | database的ID |
charge | BigDecimal | 消费金额,单位:元 |
expiredTime | Date | 过期时间 |
orderId | String | 订单ID |
请求示例
POST /v1/database?clientToken=ed35ec43-0f2a-4648-8828-de9b28caceda HTTP/1.1
Host: tsdb.gz.baidubce.com
Authorization: {authorization}
Content-Type: application/json; charset=utf-8
x-bce-date: 2016-06-06T11:52:41Z
{
"databaseName": "test",
"description": "test",
"ingestDataPointsMonthly": 1,
"purchaseLength": 1
}
返回示例
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
x-bce-request-id: 28597c34-096d-489c-908f-38844c92032e
{
"databaseId": "tsdb-5atue8m3sxsv",
"charge": 29.9,
"expiredTime": "2016-07-06T11:52:41Z",
"orderId": "d04da3c16bd042af9e916a75bb1fa19g"
}
删除database
方法 | API | 说明 |
---|---|---|
DELETE | /v1/database/{databaseId} | 删除database |
请求参数
参数名称 | 参数类型 | 是否必须 | 说明 |
---|---|---|---|
databaseId | String | 必须 | database的ID |
请求示例
DELETE /v1/database/tsdb-5atue8m3sxsv HTTP/1.1
Host: tsdb.gz.baidubce.com
Authorization: {authorization}
Content-Type: application/json; charset=utf-8
x-bce-date: 2016-06-06T11:52:41Z
返回示例
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
x-bce-request-id: 28597c34-096d-489c-908f-38844c92032e
获取database信息
方法 | API | 说明 |
---|---|---|
GET | /v1/database/{databaseId} | 获取ID为{databaseId}的database信息 |
请求参数
参数名称 | 参数类型 | 是否必须 | 说明 |
---|---|---|---|
databaseId | String | 必须 | database的ID |
返回参数
返回一个Database对象。
Database对象
参数名称 | 参数类型 | 说明 |
---|---|---|
databaseId | String | database的ID |
databaseName | String | database的名称 |
description | String | database的描述 |
endpoint | String | database的访问域名 |
quota.ingestDataPointsMonthly | Int | 写入额度,单位:百万点/月 |
quota.queryUnitsMonthly | Int | 查询额度,单位:万个/月 |
quota.storeBytesQuota | Int | 存储空间额度单位:GB |
status | String | database状态,详见Database状态表 |
autoExport | Boolean | 是否启用自动导出 |
createTime | Date | database的创建时间 |
expiredTime | Date | 过期时间 |
请求示例
GET /v1/database/tsdb-5atue8m3sxsv HTTP/1.1
Host: tsdb.gz.baidubce.com
Authorization: {authorization}
Content-Type: application/json; charset=utf-8
x-bce-date: 2016-06-06T11:52:41Z
返回示例
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
x-bce-request-id: 28597c34-096d-489c-908f-38844c92032e
{
"databaseId": "tsdb-5atue8m3sxsv",
"databaseName": "test",
"description": "test",
"endpoint": "test.tsdb.iot.gz.baidubce.com",
"quota": {
"ingestDataPointsMonthly": 1,
"queryUnitsMonthly": 10,
"storeBytesQuota": 1
},
"status": "Active",
"autoExport": true,
"createTime": "2016-06-06T14:21:01Z",
"expiredTime": "2016-07-06T14:21:01Z"
}
获取database列表
方法 | API | 说明 |
---|---|---|
GET | /v1/database | 获取database列表 |
返回参数
参数名称 | 参数类型 | 说明 |
---|---|---|
databases | List<Database> | database列表,由Database对象组成的数组 |
请求示例
GET /v1/database HTTP/1.1
Host: tsdb.gz.baidubce.com
Authorization: {authorization}
Content-Type: application/json; charset=utf-8
x-bce-date: 2016-06-06T11:52:41Z
返回示例
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
x-bce-request-id: 28597c34-096d-489c-908f-38844c92032e
{
"databases": [{
"databaseId": "tsdb-5atue8m3sxsv",
"databaseName": "test",
"description": "test",
"endpoint": "test.tsdb.iot.gz.baidubce.com",
"quota": {
"ingestDataPointsMonthly": 1,
"queryUnitsMonthly": 10,
"storeBytesQuota": 1
},
"status": "Active",
"autoExport": true,
"createTime": "2016-06-06T14:21:01Z",
"expiredTime": "2016-07-06T14:21:01Z"
}]
}
创建删除任务
方法 | API | 说明 |
---|---|---|
PUT | /v1/database/{databaseId}?delete | 创建删除任务 |
请求参数
参数名称 | 参数类型 | 是否必须 | 说明 |
---|---|---|---|
databaseId | String | 必选 | 要删除数据的databaseId |
metrics | List<String> | 可选 | 要被删除的数据点对应的metric列表。metricFieldsList和metrics必须有且只能有一个存在 |
metricFieldsList | List<MetricFields> | 可选 | 要被删除的数据点对应的field列表。metricFieldsList和metrics必须有且只能有一个存在 |
start | Long | 可选 | 要被删除的数据点对应的起始时间,默认为Long.Min |
end | Long | 可选 | 要被删除的数据点对应的截止时间,默认为Long.Max |
tags | Object | 可选 | 要被删除的数据点过滤的tags,Object的每个key对应一个metirc,Object的每个value都是List<TagFilter>类型的,表示要删除的数据点的Tag需要满足的条件。tags中出现的metric必须在metrics或metricFieldsList中 |
MetricFields 对象
参数名称 | 参数类型 | 是否必须 | 说明 |
---|---|---|---|
metric | String | 必选 | 要删除的数据点对应的metric |
fields | List<String> | 可选 | 要删除的数据点对应的field列表 |
返回参数
参数名称 | 参数类型 | 说明 |
---|---|---|
taskId | String | 任务的ID |
请求示例
PUT /v1/database/tsdb-5atue8m3sxsv?delete HTTP/1.1
Host: tsdb.gz.baidubce.com
Authorization: {authorization}
Content-Type: application/json; charset=utf-8
x-bce-date: 2016-06-06T11:52:41Z
{
"metrics": [
"cpu_idle",
"server"
],
"tags": {
"cpu_idel": [{
"tagKey": "rack",
"in": ["rack1", "rack2"]
}],
"server":[{
"tagKey": "host",
"in": ["0.0.0.0"]
}]
},
"start": 13897024887,
"end": 13897029887
}
返回示例
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
x-bce-request-id: 28597c34-096d-489c-908f-38844c92032e
{
"taskId": "123456"
}
创建导出任务
方法 | API | 说明 |
---|---|---|
PUT | /v1/database/{databaseId}?export | 创建导出任务 |
请求参数
参数名称 | 参数类型 | 是否必须 | 说明 |
---|---|---|---|
databaseId | String | 必须 | database的ID |
metrics | List<String> | 可选 | 支持列表metrics导出,未设置或者空,则导出database中的所有metric |
format | String | 必须 | 导出文件的格式,目前仅支持"CSV" |
start | Long | 可选 | 导出数据的起始时间戳,未设置则默认为Long.Min_Value |
end | Long | 可选 | 导出数据的截止时间戳,未设置则默认为Long.Max_Value |
tags | Object | 可选 | 要被导出的data points过滤的tags,Object的key是metric,value是由TagFilter组成的列表 |
bosUrl | String | 必须 | 导出到bos的目录地址 |
singleFile | Boolean | 必须 | 是否导出为单个文件,未设置则默认为false |
参数名称 | 参数类型 | 是否必须 | 说明 |
---|---|---|---|
tagKey | String | 必须 | 需要过滤的metric的tag的key |
in | List<String> | 可选 | 可以包含的tag的value列表,不可与notIn和like同时存在 |
notIn | List<String> | 可选 | 需要过滤的tag的value列表,不可与in和like同时存在 |
like | String | 可选 | 需要匹配的规则,“%”匹配任意数量的字符,“_”匹配单个字符,转义字符为“\”。不可与in和notIn同时存在 |
返回参数
参数名称 | 参数类型 | 说明 |
---|---|---|
taskId | String | 任务的ID |
请求示例
Put /v1/database/{databaseId}?export HTTP/1.1
Host: tsdb.gz.baidubce.com
Authorization: {authorization}
Content-Type: application/json; charset=utf-8
x-bce-date: 2016-06-06T11:52:41Z
{
"bosUrl": "bos://bucket1/",
"metrics": [
"cpu_idle"
],
"singleFile": true,
"format": "csv"
}
返回示例
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
x-bce-request-id: 28597c34-096d-489c-908f-38844c92032e
{
"taskId": "i4jzt228238nxueyq932"
}
获取任务信息
方法 | API | 说明 |
---|---|---|
GET | /v1/database/{databaseId}/task/{taskId} | 获取ID为{databaseId}的ID为{taskId}的任务信息 |
请求参数
参数名称 | 参数类型 | 是否必须 | 说明 |
---|---|---|---|
databaseId | String | 必须 | database的ID |
taskId | String | 必须 | task的ID |
返回参数
返回一个Task对象,具体说明见下文Task对象。
Task对象
参数名称 | 参数类型 | 说明 |
---|---|---|
taskId | String | 任务的ID |
type | String | 任务类型,Export或Delete |
params | String | 任务参数,根据不同类型有不同,内容为json字符串 |
status | String | 任务状态,Pending/Running/Completed/Failed/Canceled |
error.code | String | 任务失败代号,任务状态为Failed时有此项 |
error.message | String | 任务失败信息,任务状态为Failed时有此项 |
results | String | 任务结果,根据不同类型不同,内容为json字符串。Export任务包含exportedDataPointsCount、exportedLinesCount、exportedTime、bucketName和objectNames。Delete任务包含deletedDataPointsCount, failures |
createTime | Date | 任务的创建时间 |
completionTime | Date | 任务的完成时间,只有status为Completed/Failed时才有这个字段 |
请求示例
GET /v1/database/tsdb-5atue8m3sxsv/task/123457 HTTP/1.1
Host: tsdb.gz.baidubce.com
Authorization: {authorization}
Content-Type: application/json; charset=utf-8
x-bce-date: 2016-06-06T11:52:41Z
返回示例
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
x-bce-request-id: 28597c34-096d-489c-908f-38844c92032e
{
"taskId":"idwby9gvtk0eg8a4x3hn",
"type":"Export",
"params":{
"bosUrl":"bos://bucket1/",
"metrics":[
],
"tags":{}
"start":0,
"end":9223372036854775807,
"singleFile":false
},
"status":"Completed",
"error":{
"code":"",
"message":""
},
"results":{
"exportedDataPointsCount":27375,
"exportedLinesCount":27375,
"objectNames":["file1","file2"]
},
"createTime":"2018-11-05T06:29:52Z",
"completionTime":"2018-11-05T06:30:10Z"
}
添加预处理规则
方法 | API | 说明 |
---|---|---|
POST | /v1/database/{databaseId}/presampling | 创建database预处理规则 |
请求参数
参数名称 | 参数类型 | 是否必须 | 说明 |
---|---|---|---|
ruleName | String | 必须 | 规则的名称,3~40个字符 |
databaseId | String | 必须 | database的ID |
metrics | List<String> | 必须 | 适用metric的名称列表 ["*"]:表示适用所有列表 |
fields | List<String> | 可选 | field的名称列表,空表示对该规则应用于所有fields |
indexes | List<String> | 可选 | 索引列表,查询filter的tagKey列表 |
aggregators | List<Aggregator> | 必须 | Aggregator列表,由Aggregator组成的列表,聚合函数上限3个,且至少有一个函数带采样时间;多个聚合函数将按照顺序进行嵌套聚合计算 |
ttlInDays | Int | 可选 | 数据保留时间,单位为天,0表示永久保留 |
baseTime | Long | 可选 | 预处理规则的基准时间,默认是2000/1/1 00:00:00 周是这个时间之后的第一个周日 |
fills | List |
可选 | 插值列表,见IOT-TSDB Data API#TSDBDataAPI-Fill,固定值插值时,只允许插入Long/Double类型数据 |
返回参数
方法 | API | 说明 |
---|---|---|
ruleId | String | 预处理规则ID |
请求示例
POST /v1/database/{databaseId}/presampling HTTP/1.1
Host: tsdb.iot.gz.bce-internal.baidu.com
Authorization: {authorization}
Content-Type: application/json; charset=utf-8
x-bce-date: 2016-06-06T11:52:41Z
{
"ruleName": "test",
"metrics": ["cpu","memory"],
"indexes": ["server1", "server2"],
"aggregators:": [
{"name": "Div", "divisor": "3"}
{"name": "Avg","sampling": "1 hour"}
]
}
返回示例
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
x-bce-request-id: 28597c34-096d-489c-908f-38844c92032e
{
"ruleId": "55"
}