文档简介:
写入数据
路径和方法
请求路径 |
请求方法 |
功能 |
/api/put |
POST |
POST |
请求参数:
参数 |
是否必须 |
描述 |
默认值 |
summary |
否 |
是否返回摘要信息
|
fasle |
details |
否 |
是否返回详细信息 |
false |
请求内容:
名称 |
类型 |
是否必需 |
是否有使用限制 |
描述 |
metric |
String |
是 |
英文,数字 |
指标名称 |
timestamp |
Long |
是 |
无 |
见下面的时间戳说明 |
tags |
Map |
是 |
英文字母、数字 |
数据点标签 |
value |
Long,Double,String,Boolean |
是 |
无 |
数据点值 |
时间戳注意事项:
本说明适用于读写数据 (/api/put) 和查询数据 (api/query) 两个接口。
时间戳的单位可以是秒或者毫秒。TSDB 会通过数值大小来判断时间戳的单位,规则如下:
1.时间戳区间为 [4284768,9999999999]: 判断为秒,表示的时间区间为:[1970-02-20 00:59:28, 2286-11-21 01:46:39
2.时间戳区间为 [10000000000,9999999999999]:判断为毫秒,表示的时间区间为: [1970-04-27 01:46:40.000, 2286-11-21 01:46:39.999]
3.时间戳区间为 (-∞,4284768)和(9999999999999,+∞):判断为非法时间戳区间
数据值注意事项:
1.同一时间线只允许写入同一种数据类型。
2.String数值类型的数据值可以为任意字符,支持JSON字符串存储,最大为20KB。
写入数据实例:
请求:/POST/api/put
请求体:
[ { "metric": "sys.cpu.core", "timestamp": 1226846400, 1."value": 18, "tags": { "host": "1", "core": 1 } }, { "metric": "sys.cpu. core", "timestamp": 1226846400, "value": 9, "tags": { "host": “2”, "core": 2 } } ] |
响应:
如果所有数据点写入成功,返回码为204,如果有部分写入失败,返回码400,响应内容为具体错误信息。
如果请求参数包含 summary 或者 details,返回信息包括如下属性:
参数 |
值类型 |
描述 |
success |
Integer |
写入成功的数据点数 |
failed |
Integer |
写入失败的数据点数 |
errors |
Array |
描述哪些数据点未写入以及其原因的数组,仅在指定 details 有效 |
请求参数为summary的响应实例:
请求:/POST/api/put?summary
请求体:
[ { "metric": "sys.cpu.nice", "timestamp": 1226846400, "value": 9, "tags": { "host": "web00", "core": 1 } } ] |
响应:
{ "failed": 1, "success": 0 } |
请求参数为details的响应实例:
请求:/POST/api/put?details
请求体:
[ { "metric": "sys.cpu.nice", "timestamp": 1226846400, "value": 9, "tags": { "host": "web00", "core": 1 } } ] |
响应:
{ "errors": [ { "datapoint": { "metric": "sys.cpu.nice", "timestamp": 1365465600, "value": "NaN", "tags": { "host": "web01" } }, "error": "Unable to parse value to a number" } ], "failed": 1, "success": 0 } |
表示0个点写入成功,1个点写入失败。失败的点由 datapoint 指定。该点写入失败的原因由 error 字段指定。