写入操作
所有文档
menu

时序时空数据库 TSDB

写入操作

产品详情立即使用

写入单域数据点

基本流程

  1. 创建TsdbDataClient。
  2. 执行writeDatapoints()方法,您需要提供写入的数据的具体信息。

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

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

// 构建想要写入的datapoints
var datapoints = [
	{
        "metric": "cpu_idle",
        "field": "test",
        "tags": {
            "host": "server1",
            "rack": "rack1"
        },
        "type": "Long",
        "timestamp": Math.round(new Date().getTime() / 1000),   // 用于生成时间戳
        "value": 51
    }
];
// 获取并返回结果
client.writeDatapoints(datapoints)
    .then(response => console.log(response))         // 获取成功
    .catch(error => console.error(error));           // 获取失败,并返回错误类型

这时,可在对应数据库,点击查询面板,在选项Metrics下出现一个新的metric。

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

写入多域数据点

基本流程同写入单域数据点。

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

可以参考以下代码写入多域数据点:

// 构建想要写入的datapoints
var datapoints = [
	{
        "metric": "cpu_idle3",
        "field" : "field2",
        "tags": {
            "host": "server1",
            "rack": "rack1"
    	  },
        "type": "Long",
        "timestamp": Math.round(new Date().getTime() / 1000),
        "value": 51
    },
    {
        "metric": "cpu_idle3",
        "field": "field1",
        "tags": {
            "host": "server1",
            "rack": "rack1"
    	 },
        "type": "Long",
        "values": [
            [Math.round(new Date().getTime() / 1000), 60]   // 用于生成时间戳
        ]
    }
];
// 获取并返回结果
client.writeDatapoints(datapoints)
    .then(response => console.log(response))         // 写入成功
    .catch(error => console.error(error));           // 写入失败,并返回错误类型
上一篇
创建TsdbClient
下一篇
查询操作