管理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 |
请求示例
Plain Text
1POST /v1/database?clientToken=ed35ec43-0f2a-4648-8828-de9b28caceda HTTP/1.1
2Host: tsdb.gz.baidubce.com
3Authorization: {authorization}
4Content-Type: application/json; charset=utf-8
5x-bce-date: 2016-06-06T11:52:41Z
6
7{
8 "databaseName": "test",
9 "description": "test",
10 "ingestDataPointsMonthly": 1,
11 "purchaseLength": 1
12}
返回示例
Plain Text
1HTTP/1.1 200 OK
2Content-Type: application/json; charset=utf-8
3x-bce-request-id: 28597c34-096d-489c-908f-38844c92032e
4
5{
6 "databaseId": "tsdb-5atue8m3sxsv",
7 "charge": 29.9,
8 "expiredTime": "2016-07-06T11:52:41Z",
9 "orderId": "d04da3c16bd042af9e916a75bb1fa19g"
10}
删除database
方法 | API | 说明 |
---|---|---|
DELETE | /v1/database/{databaseId} | 删除database |
请求参数
参数名称 | 参数类型 | 是否必须 | 说明 |
---|---|---|---|
databaseId | String | 必须 | database的ID |
请求示例
Plain Text
1DELETE /v1/database/tsdb-5atue8m3sxsv HTTP/1.1
2Host: tsdb.gz.baidubce.com
3Authorization: {authorization}
4Content-Type: application/json; charset=utf-8
5x-bce-date: 2016-06-06T11:52:41Z
返回示例
Plain Text
1HTTP/1.1 200 OK
2Content-Type: application/json; charset=utf-8
3x-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 | 过期时间 |
请求示例
Plain Text
1GET /v1/database/tsdb-5atue8m3sxsv HTTP/1.1
2Host: tsdb.gz.baidubce.com
3Authorization: {authorization}
4Content-Type: application/json; charset=utf-8
5x-bce-date: 2016-06-06T11:52:41Z
返回示例
Plain Text
1HTTP/1.1 200 OK
2Content-Type: application/json; charset=utf-8
3x-bce-request-id: 28597c34-096d-489c-908f-38844c92032e
4
5{
6 "databaseId": "tsdb-5atue8m3sxsv",
7 "databaseName": "test",
8 "description": "test",
9 "endpoint": "test.tsdb.iot.gz.baidubce.com",
10 "quota": {
11 "ingestDataPointsMonthly": 1,
12 "queryUnitsMonthly": 10,
13 "storeBytesQuota": 1
14 },
15 "status": "Active",
16 "autoExport": true,
17 "createTime": "2016-06-06T14:21:01Z",
18 "expiredTime": "2016-07-06T14:21:01Z"
19}
获取database列表
方法 | API | 说明 |
---|---|---|
GET | /v1/database | 获取database列表 |
返回参数
参数名称 | 参数类型 | 说明 |
---|---|---|
databases | List<Database> | database列表,由Database对象组成的数组 |
请求示例
Plain Text
1GET /v1/database HTTP/1.1
2Host: tsdb.gz.baidubce.com
3Authorization: {authorization}
4Content-Type: application/json; charset=utf-8
5x-bce-date: 2016-06-06T11:52:41Z
返回示例
Plain Text
1HTTP/1.1 200 OK
2Content-Type: application/json; charset=utf-8
3x-bce-request-id: 28597c34-096d-489c-908f-38844c92032e
4
5{
6 "databases": [{
7 "databaseId": "tsdb-5atue8m3sxsv",
8 "databaseName": "test",
9 "description": "test",
10 "endpoint": "test.tsdb.iot.gz.baidubce.com",
11 "quota": {
12 "ingestDataPointsMonthly": 1,
13 "queryUnitsMonthly": 10,
14 "storeBytesQuota": 1
15 },
16 "status": "Active",
17 "autoExport": true,
18 "createTime": "2016-06-06T14:21:01Z",
19 "expiredTime": "2016-07-06T14:21:01Z"
20 }]
21}
创建删除任务
方法 | 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 |
请求示例
Plain Text
1PUT /v1/database/tsdb-5atue8m3sxsv?delete HTTP/1.1
2Host: tsdb.gz.baidubce.com
3Authorization: {authorization}
4Content-Type: application/json; charset=utf-8
5x-bce-date: 2016-06-06T11:52:41Z
6
7{
8 "metrics": [
9 "cpu_idle",
10 "server"
11 ],
12 "tags": {
13 "cpu_idel": [{
14 "tagKey": "rack",
15 "in": ["rack1", "rack2"]
16 }],
17 "server":[{
18 "tagKey": "host",
19 "in": ["0.0.0.0"]
20 }]
21 },
22 "start": 13897024887,
23 "end": 13897029887
24}
返回示例
Plain Text
1HTTP/1.1 200 OK
2Content-Type: application/json; charset=utf-8
3x-bce-request-id: 28597c34-096d-489c-908f-38844c92032e
4
5{
6 "taskId": "123456"
7}
创建导出任务
方法 | 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 |
请求示例
Plain Text
1Put /v1/database/{databaseId}?export HTTP/1.1
2Host: tsdb.gz.baidubce.com
3Authorization: {authorization}
4Content-Type: application/json; charset=utf-8
5x-bce-date: 2016-06-06T11:52:41Z
6{
7"bosUrl": "bos://bucket1/",
8"metrics": [
9 "cpu_idle"
10],
11"singleFile": true,
12"format": "csv"
13}
返回示例
Plain Text
1HTTP/1.1 200 OK
2Content-Type: application/json; charset=utf-8
3x-bce-request-id: 28597c34-096d-489c-908f-38844c92032e
4
5{
6 "taskId": "i4jzt228238nxueyq932"
7}
获取任务信息
方法 | 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时才有这个字段 |
请求示例
Plain Text
1GET /v1/database/tsdb-5atue8m3sxsv/task/123457 HTTP/1.1
2Host: tsdb.gz.baidubce.com
3Authorization: {authorization}
4Content-Type: application/json; charset=utf-8
5x-bce-date: 2016-06-06T11:52:41Z
返回示例
Plain Text
1HTTP/1.1 200 OK
2Content-Type: application/json; charset=utf-8
3x-bce-request-id: 28597c34-096d-489c-908f-38844c92032e
4
5{
6 "taskId":"idwby9gvtk0eg8a4x3hn",
7 "type":"Export",
8 "params":{
9 "bosUrl":"bos://bucket1/",
10 "metrics":[
11 ],
12 "tags":{}
13 "start":0,
14 "end":9223372036854775807,
15 "singleFile":false
16 },
17 "status":"Completed",
18 "error":{
19 "code":"",
20 "message":""
21 },
22 "results":{
23 "exportedDataPointsCount":27375,
24 "exportedLinesCount":27375,
25 "objectNames":["file1","file2"]
26 },
27 "createTime":"2018-11-05T06:29:52Z",
28 "completionTime":"2018-11-05T06:30:10Z"
29}
添加预处理规则
方法 | 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 |
请求示例
Plain Text
1POST /v1/database/{databaseId}/presampling HTTP/1.1
2Host: tsdb.iot.gz.bce-internal.baidu.com
3Authorization: {authorization}
4Content-Type: application/json; charset=utf-8
5x-bce-date: 2016-06-06T11:52:41Z
6{
7 "ruleName": "test",
8 "metrics": ["cpu","memory"],
9 "indexes": ["server1", "server2"],
10 "aggregators:": [
11 {"name": "Div", "divisor": "3"}
12 {"name": "Avg","sampling": "1 hour"}
13 ]
14}
返回示例
Plain Text
1HTTP/1.1 200 OK
2Content-Type: application/json; charset=utf-8
3x-bce-request-id: 28597c34-096d-489c-908f-38844c92032e
4{
5 "ruleId": "55"
6}