管理API接口说明

创建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
        },
        "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 list。如果metricFieldsList和metrics都未设置或者都为空,则删除database中的所有metric。与metricFieldsList冲突,不能同时存在
metricFieldsList List<MetricFields> 可选 要被删除的数据点对应的field列表,如果metricFieldsList和metrics都未设置或者都为空,则删除database中的所有metric。与metrics冲突,不能同时存在
start Long 可选 要被删除的数据点对应的起始时间,默认为Long.Min
end Long 可选 要被删除的数据点对应的截止时间,默认为Long.Max
tags Object 可选 要被删除的数据点过滤的tags,Object的每个key对应一个metirc,Object的每个value都是List<TagFilter>类型的,表示要删除的数据点的Tag需要满足的条件

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
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

TagFilter对象

参数名称 参数类型 是否必须 说明
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",
        "memory"
    ],
    "tags": {
        "device": ["device1", device2"]
    }
    "singleFile": true
}

返回示例

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 tring 任务类型,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"
}