Get Points TSDB Meta Data

获取模型测点对应的TSDB存储策略,一个测点根据其数据类型及用途可有多条存储策略,该API返回指定测点在当前OU内的所有TSDB存储策略元数据。

请求格式

GET https://{apigw-address}/tsdb-policy/v2.0/policies

请求参数(URI)

名称

位置(Path/Query)

必需/可选

数据类型

描述

orgId

Query

必需

String

资产所属的组织ID。如何获取orgId信息>>

modelIds

Query

必需

String

资产所属模型ID。支持多model查询,多个modelId之间用英文逗号隔开。如何获取modelId信息>>

measurepoints

Query

可选

String

资产测点,支持多测点查询,各个测点间用逗号隔开。如何获取测点信息>>

响应参数

名称

数据类型

描述

data

List<JSONObject>

模型测点对应的TSDB存储策略,详见 存储策略结构体

存储策略结构体

名称

数据类型

描述

modelId

String

模型ID。

tsdb_metadata

List<JSONObject>

模型测点存储策略集合,详见 Policy结构体

Policy结构体

示例

以下示例展示了一个测点opentsdb_ai_point具有AI_RAW(AI原始数据)与AI_NORMALIZED(AI分钟级归一化数据)的存储策略:

"opentsdb_ai_point": [
          "AI_RAW",
          "AI_NORMALIZED"
        ]

参数

名称

数据类型

描述

point

Arrary

测点存储策略,一个测点可以有多个存储策略,策略用数组存储。

错误码

有关错误码的描述,参见 通用错误码

示例 1

请求示例

不指定测点:

url: https://{apigw-address}/tsdb-policy/v2.0/policies?orgId=yourOrgId&modelIds=yourModelIds

method: GET

返回示例

{
  "code": 0,
  "msg": "OK",
  "submsg": null,
  "data": [
    {
      "tsdb_metadata": {
        "opentsdb_di_point": [
          "DI"
        ],
        "opentsdb_pi_point": [
          "PI"
        ],
        "opentsdb_ai_point": [
          "AI_RAW",
          "AI_NORMALIZED"
        ],
        "opentsdb_generic_point": [
          "GENERIC"
        ]
      },
      "modelId": "opentsdb_model"
    }
  ]
}

示例 2

请求示例

指定测点:

url: https://{apigw-address}/tsdb-policy/v2.0/policies?orgId=yourOrgId&modelIds=opentsdb_model&measurepoints=opentsdb_pi_point

method: GET

返回示例

{
  "code": 0,
  "msg": "OK",
  "submsg": null,
  "data": [
    {
      "tsdb_metadata": {
        "opentsdb_pi_point": [
          "DI"
        ]
      },
      "modelId": "opentsdb_model"
    }
  ]
}

Java SDK调用示例

import com.alibaba.fastjson.JSONObject;
import com.envision.apim.poseidon.config.PConfig;
import com.envision.apim.poseidon.core.Poseidon;
import com.envision.apim.poseidon.request.PoseidonRequest;

public class Sample {

    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;
        }

    }

    public static void main(String[] args){

        String accessKey = "AccessKey of your APP";
        String secretKey = "SecretKey of your APP";

        Request request = new Request();
        request.setQueryParam("orgId", "yourOrgId");
        request.setQueryParam("modelIds", "yourModelIds");
        request.setQueryParam("measurepoints", "yourPointIds");

        request.setMethod("GET");

        try {
            JSONObject response =  Poseidon.config(PConfig.init().appKey(accessKey).appSecret(secretKey).debug())
                    .url("https://{apigw-address}/tsdb-policy/v2.0/policies")
                    .getResponse(request, JSONObject.class);
            System.out.println(response);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}