Get Points TSDB Meta Data¶
获取模型测点对应的TSDB存储策略,一个测点根据其数据类型及用途可有多条存储策略,该API返回指定测点在当前OU内的所有TSDB存储策略元数据。
请求格式¶
http://{apigw-address}/tsdb-policy/v2.0/policies?orgId={}&modelIds={}&measurepoints={}
请求参数(URI)¶
名称 |
位置(Path/Query) |
是否必须 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
true |
String |
资产所属的组织ID。如何获取orgId信息>> |
modelIds |
Query |
true |
String |
资产所属模型ID。支持多model查询,多个modelId之间用英文逗号隔开。如何获取modelId信息>> |
measurepoints |
Query |
false |
String |
资产测点,支持多测点查询,各个测点间用逗号隔开;支持查询的(设备数*测点数)上限为3000。如何获取测点(pointId)信息>> |
响应参数¶
名称 |
数据类型 |
描述 |
---|---|---|
data |
|
资产数据列表。单设备单点的返回数据按时间升序排列。其中的Object结构体中存储着参数,详见items。 |
items¶
名称 |
数据类型 |
描述 |
---|---|---|
modelId |
String |
模型ID |
tsdb_metadata |
|
模型测点存储策略集合,详见policy>>。 |
policy¶
以下示例展示了一个测点opentsdb_ai_point_xxx具有AI_RAW(AI原始数据)与AI_NORMALIZED(AI分钟级归一化数据)的存储策略:
"opentsdb_ai_point_xxx": [
"AI_RAW",
"AI_NORMALIZED"
]
名称 |
数据类型 |
描述 |
---|---|---|
point |
Object |
测点存储策略,一个测点可以有多个存储策略,策略用数组存储。 |
错误码¶
有关错误码的描述,参见通用错误码。
示例 1¶
请求示例¶
不指定测点:
http://{apigw-address}/tsdb-policy/v2.0/policies?orgId=o15504722874071&modelIds=opentsdb_model_xxx&measurepoints=
返回示例¶
{
"status": 0,
"requestId": null,
"msg": "success",
"submsg": "success",
"data": [
{
"tsdb_metadata": {
"opentsdb_di_point_xxx": [
"DI"
],
"opentsdb_pi_point_xxx": [
"PI"
],
"opentsdb_ai_point_xxx": [
"AI_RAW",
"AI_NORMALIZED"
],
"opentsdb_generic_point_xxx": [
"GENERIC"
]
},
"modelId": "opentsdb_model_xxx"
}
]
}
示例 2¶
请求示例¶
指定测点:
http://{apigw-address}/tsdb-policy/v2.0/policies?orgId=o15504722874071&modelIds=opentsdb_model_xxx&measurepoints=opentsdb_di_point_xxx
返回示例¶
{
"status": 0,
"requestId": null,
"msg": "success",
"submsg": "success",
"data": [
{
"tsdb_metadata": {
"opentsdb_di_point_xxx": [
"DI"
]
},
"modelId": "opentsdb_model_xxx"
}
]
}
Java SDK调用示例¶
private static class Request extends PoseidonRequest{
public void setQueryParam(String key, Object value){
queryEncodeParams().put(key, value);
}
public void setMethod(String method) {
this.method = method;
}
private String method;
@Override
public String baseUri() {
return "";
}
@Override
public String method() {
return method;
}
}
@Test
public void getPointsTSDBMetaDataTest(){
//accessKey and secretKey correspond to AccessKey and SecretKey in EnOS
String accessKey = "29b8d283-dddd-4c31f0e3a356-0f80-4fdf";
String secretKey = "f0e3a856-0fc0-4fdf-b1e5-b34da152879c";
// Create a new request and pass the required parameters into the Query map.
// The key is the parameter name and the value is the parameter value.
Request request = new Request();
request.setQueryParam("orgId", "o15504745674071");
request.setQueryParam("modelIds", "model_xxx");
request.setQueryParam("measurepoints", "opentsdb_pi_point_xxx");
request.setMethod("GET");
try {
JSONObject response = Poseidon.config(PConfig.init().appKey(accessKey).appSecret(secretKey).debug())
.url("http://apim-gateway/tsdb-policy/v2.0/policies")
.getResponse(request, JSONObject.class);
System.out.println(response);
} catch (Exception e) {
e.printStackTrace();
}
}