时序时空数据库TSDB

    管理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需要满足的条件。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

    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 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接口说明
    下一篇
    聚合函数