时序时空数据库TSDB

    写入操作

    写入单域数据点

    用户可参考如下代码写入单域数据点:

    注意:当写入的metric、field、tags、timestamp都相同时,后写入的value会覆盖先写入的value。

    #构建要写入的数据点数据点对象数组
    datapoints = [{
        "metric": "wind",
        "tags": {
            "city": "ShangHai"
        },
        "field": "direction",  #域名,缺少此field字段的话默认为value
        "timestamp": 1531985379000,
        "type": "Long",
        "value": 1
    }]
    try:
        print tsdb_client.write_datapoints(datapoints)  #写入数据点
    except BaseException as e:
        print e  #通过捕获异常获取详细的错误信息

    对于同一个field,如果写入了某个数据类型的value之后,相同的field不允许写入其他数据类型。

    返回结果:

    {metadata:{keep_alive:'timeout=10',server:'BWS',connection:'keep-alive',pragma:'no-cache',date:'Wed, 01 Aug 2018 12:41:28 GMT',bce_request_id:'d46b3f74-76c4-4e1a-be47-39354b7b81a3',cache_control:'no-cache'}}

    写入多域数据点

    多域数据点是指同一个metric下可以有多个不同名字的field,不同field的数据类型可以不同。

    不同的域并不需要同时写入,可以认为不同的域都是独立的。但如果查询时要用一条语句查出来,需要保证metric、所有的tag、时间戳都是一致的。

    #构建要写入的数据点数据点对象数组
    datapoints = [{
        "metric": "wind",
        "tags": {
            "city": "ShangHai"
        },
        "field": "direction",
        "timestamp": 1531985380000,
        "type": "Long",
        "value": 1
    }, {
        "metric": "wind",
        "tags": {
            "city": "ShangHai"
        },
        "field": "speed",
        "timestamp": 1531985380000,
        "type": "Double",
        "value": 4.5
    }]
    try:
        tsdb_client.write_datapoints(datapoints)  #写入数据点
        print 'single filed datapoint write success'
    except BaseException as e:
        print e  #通过捕获异常获取详细的错误信息
    上一篇
    创建TsdbClient
    下一篇
    查询操作