100 lines
3.0 KiB
Plaintext
100 lines
3.0 KiB
Plaintext
---
|
||
sidebar_label: OpenTSDB JSON 格式协议
|
||
title: OpenTSDB JSON 格式协议
|
||
---
|
||
|
||
import Tabs from "@theme/Tabs";
|
||
import TabItem from "@theme/TabItem";
|
||
import JavaJson from "./_java_opts_json.mdx";
|
||
import PyJson from "./_py_opts_json.mdx";
|
||
import GoJson from "./_go_opts_json.mdx";
|
||
import RustJson from "./_rust_opts_json.mdx";
|
||
import NodeJson from "./_js_opts_json.mdx";
|
||
import CsJson from "./_cs_opts_json.mdx";
|
||
import CJson from "./_c_opts_json.mdx";
|
||
|
||
## 协议介绍
|
||
|
||
OpenTSDB JSON 格式协议采用一个 JSON 字符串表示一行或多行数据。例如:
|
||
|
||
```json
|
||
[
|
||
{
|
||
"metric": "sys.cpu.nice",
|
||
"timestamp": 1346846400,
|
||
"value": 18,
|
||
"tags": {
|
||
"host": "web01",
|
||
"dc": "lga"
|
||
}
|
||
},
|
||
{
|
||
"metric": "sys.cpu.nice",
|
||
"timestamp": 1346846400,
|
||
"value": 9,
|
||
"tags": {
|
||
"host": "web02",
|
||
"dc": "lga"
|
||
}
|
||
}
|
||
]
|
||
```
|
||
|
||
与 OpenTSDB 行协议类似, metric 将作为超级表名, timestamp 表示时间戳,value 表示度量值, tags 表示标签集。
|
||
|
||
参考[OpenTSDB HTTP API 文档](http://opentsdb.net/docs/build/html/api_http/put.html)。
|
||
|
||
:::note
|
||
|
||
- 对于 JSON 格式协议,TDengine 并不会自动把所有标签转成 nchar 类型, 字符串将将转为 nchar 类型, 数值将同样转换为 double 类型。
|
||
- TDengine 只接收 JSON **数组格式**的字符串,即使一行数据也需要转换成数组形式。
|
||
|
||
:::
|
||
|
||
## 示例代码
|
||
|
||
<Tabs defaultValue="java" groupId="lang">
|
||
<TabItem label="Java" value="java">
|
||
<JavaJson />
|
||
</TabItem>
|
||
<TabItem label="Python" value="Python">
|
||
<PyJson />
|
||
</TabItem>
|
||
<TabItem label="Go" value="go">
|
||
<GoJson />
|
||
</TabItem>
|
||
<TabItem label="Rust" value="rust">
|
||
<RustJson />
|
||
</TabItem>
|
||
<TabItem label="Node.js" value="nodejs">
|
||
<NodeJson />
|
||
</TabItem>
|
||
<TabItem label="C#" value="csharp">
|
||
<CsJson />
|
||
</TabItem>
|
||
<TabItem label="C" value="c">
|
||
<CJson />
|
||
</TabItem>
|
||
</Tabs>
|
||
|
||
以上示例代码会自动创建 2 个超级表, 每个超级表有 2 条数据。
|
||
|
||
```cmd
|
||
taos> use test;
|
||
Database changed.
|
||
|
||
taos> show stables;
|
||
name | created_time | columns | tags | tables |
|
||
============================================================================================
|
||
meters.current | 2022-03-29 16:05:25.193 | 2 | 2 | 1 |
|
||
meters.voltage | 2022-03-29 16:05:25.200 | 2 | 2 | 1 |
|
||
Query OK, 2 row(s) in set (0.001954s)
|
||
|
||
taos> select * from `meters.current`;
|
||
ts | value | groupid | location |
|
||
===================================================================================================================
|
||
2022-03-28 09:56:51.249 | 10.300000000 | 2.000000000 | California.SanFrancisco |
|
||
2022-03-28 09:56:51.250 | 12.600000000 | 2.000000000 | California.SanFrancisco |
|
||
Query OK, 2 row(s) in set (0.004076s)
|
||
```
|