EnOS 指标管理 API 概述¶
EnOS 指标管理提供一站式指标标准化定义、指标配置化计算和指标统一查询服务。有关指标管理的详细信息,参见 EnOS 指标管理。
指标管理 API 提供批量查询指标数据的能力。
有关如何调用 EnOS API 的信息,参见 EnOS API 快速入门。
API 服务列表¶
参考以下表格,查看指标管理的 API 列表及 API 是否可以被 EnOS Cloud 和 EnOS Edge 使用。
操作名称 |
描述 |
URL |
适用于 EnOS Cloud |
适用于 EnOS Edge |
---|---|---|---|---|
用于批量查询指标数据。 |
/metric-mgmt/v1.0/metricIds/data/normal |
√ |
× |
API 版本¶
下表列出指标管理企业版与轻量版包含的 API 服务。
操作名称 |
企业版 |
轻量版 |
---|---|---|
√ |
√ |
API 请求结构¶
指标管理 API 请求包含请求 URI 和请求 Header两部分。
请求 URI¶
METHOD {URI-scheme}://{apigw-address}/{service-name}/{version}/{endpoint-URL}??{action=query&{}}
其中:
METHOD
:请求方法。例如:GET
和POST
。URI-scheme
:协议,支持HTTPS
协议。apigw-address
API 服务的网关地址。可通过登入 EnOS 管理控制台,点击右上角的 帮助 > 环境信息 里 API 网关 获取。例如:app-portal-xxx.envisioniot.com
。service-name
:API 服务名称。例如:metric-mgmt
。version
:API 版本,例如:v1.0
。endpoint-URL
:资源及对资源的操作,例如:metricIds
。action=query&
:查询参数,如果有多个参数,用&
符号作为分隔符。例如:action=query&orgId={yourOrgId}&mdmIds={yourMdmId}
。
请求 Header¶
REST API 规范和 HTTP 规范所需的任何其他字段,绑定在请求消息头中。
常用的请求消息头为Content-Type
,代表数据提交方式,一般情况下它的值可设为 application/json;charset=UTF-8
;若执行文件上传或其他表单提交,值设为 multipart/form-data;charset=UTF-8
。
请求示例¶
url: https://{apigw-address}/metric-mgmt/v1.0/metricIds/data/normal?orgId=orgId&metricIds=metricId0,metricId1&startTime=2021-05-19 00:00:00&endTime=2021-05-21 00:00:00
method: GET
API 返回结构¶
API 返回 JSON 结构体,格式如下。
{
"msg": "OK",
"code": 0,
"data": [{
}]
}
返回参数¶
指标管理 API 的返回参数如下。
名称 |
数据类型 |
描述 |
---|---|---|
msg |
String |
对状态码的解释和说明。成功为 “OK”。若 API 请求失败,返回具体错误信息。 |
code |
Integer |
API 请求状态码,0 表示请求成功。有关状态码含义,参见返回码章节。 |
data |
Array 或 Object |
API 响应返回结果集,数据类型包括:基本数据类型、复杂类型或数组。 |
返回示例¶
成功示例。
{
"msg": "OK",
"code": 0,
"data": [
{
"metricIdentifier":"MetricId0",
"value":[
{
"storage_active_electric": 2200.00,
"time": "2021-05-20",
"mdmId": "mdmId0"
},
{
"storage_active_electric": 100.00,
"time": "2021-05-20",
"mdmId": "mdmId1"
}
]
},
{
"metricIdentifier":"MetricId1",
"value":[
{
"storage_reactive_electric": 2200.00,
"time": "2021-05-20",
"mdmId": "mdmId0"
},
{
"storage_reactive_electric": 100.00,
"time": "2021-05-20",
"mdmId": "mdmId1"
}
]
}
]
}