写入操作
更新时间:2019-06-18
写入单域数据点
用户可参考如下代码写入单域数据点:
注意:当写入的metric、field、tags、timestamp都相同时,后写入的value会覆盖先写入的value。
Plain Text
1#构建要写入的数据点数据点对象数组
2datapoints = [{
3 "metric": "wind",
4 "tags": {
5 "city": "ShangHai"
6 },
7 "field": "direction", #域名,缺少此field字段的话默认为value
8 "timestamp": 1531985379000,
9 "type": "Long",
10 "value": 1
11}]
12try:
13 print tsdb_client.write_datapoints(datapoints) #写入数据点
14except BaseException as e:
15 print e #通过捕获异常获取详细的错误信息
对于同一个field,如果写入了某个数据类型的value之后,相同的field不允许写入其他数据类型。
返回结果:
Plain Text
1{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、时间戳都是一致的。
Plain Text
1#构建要写入的数据点数据点对象数组
2datapoints = [{
3 "metric": "wind",
4 "tags": {
5 "city": "ShangHai"
6 },
7 "field": "direction",
8 "timestamp": 1531985380000,
9 "type": "Long",
10 "value": 1
11}, {
12 "metric": "wind",
13 "tags": {
14 "city": "ShangHai"
15 },
16 "field": "speed",
17 "timestamp": 1531985380000,
18 "type": "Double",
19 "value": 4.5
20}]
21try:
22 tsdb_client.write_datapoints(datapoints) #写入数据点
23 print 'single filed datapoint write success'
24except BaseException as e:
25 print e #通过捕获异常获取详细的错误信息