EnOS 通用数据服务 API 概述


EnOS 通用数据服务 (Common Data Service) 对不同数据源进行注册和路由,解决数据“多源异构”问题,赋能应用开发。有关通用数据服务的详细信息,参见 EnOS 通用数据服务


通用数据服务 API 服务为数据消费者提供一站式、标准化、灵活可配的数据获取途径。


有关如何调用 EnOS API 的信息,参见 EnOS API 快速入门

API 服务列表


通用数据服务提供以下 Open API 服务。


操作名称 描述 URL 适用于 EnOS Cloud 适用于 EnOS Edge
Query Meta Attribute 获取属性元数据 /cds-meta-service/v1.0/attribute?action=query
Query Meta Measurement Point 获取测点元数据 /cds-meta-service/v1.0/measurement-point?action=query
Query Meta Metric 获取指标元数据 /cds-meta-service/v1.0/metric?action=query
Query Meta Generic Data 获取通用元数据 /cds-meta-service/v1.0/generic?action=query
Query Meta Record 获取记录元数据 /cds-meta-service/v1.0/record?action=query
Query Accessible Asset Type 获取可访问的资产类型列表 /cds-asset-service/v1.0/accessible-asset-type?action=query
Query Accessible Asset 获取可访问的资产列表 /cds-asset-service/v1.0/accessible-asset?action=query
Query Asset Attribute 获取指定资产的属性 /cds-asset-service/v1.0/attribute?action=query
Query Asset Hierarchy 获取指定资产的层级关系 /cds-asset-service/v1.0/hierarchy?action=query
Query Asset Topology 获取指定资产的拓扑关系 /cds-asset-service/v1.0/topology?action=query
Query Asset Topology Rule 获取资产拓扑规则 /cds-asset-service/v1.0/topology/rule?action=query
Query Latest Measurement Point 获取最新的测点读数 /cds-realtime-service/v1.0/measurement-point/latest?action=query
Query Latest Metric 获取最新的指标数据 /cds-realtime-service/v1.0/metric/latest?action=query
Query Historical Measurement Point 获取测点的时序数据 /cds-timeseries-service/v1.0/tsdb-detail?action=query
Query Historical Metric 获取指标的历史数据 /cds-metric-service/v1.0/metric?action=query
Query Record 获取第三方记录数据 /cds-record-service/v1.0/record?action=query

API 请求


通用数据服务 API 请求包含请求 URI 和请求消息头两部分。

请求 URI


METHOD {URI-scheme}://{apigw-address}/{service-name}/{version}/{endpoint-URL}?{action=query&{}}


其中:

  • METHOD:请求方法。例如:GETPOST
  • URI-scheme:API 协议。支持 HTTPS 协议。
  • api-gateway:API 服务的网关地址。例如:app-portal-xxx.enos-iot.com。可通过登入 EnOS 管理控制台,点击右上角的 帮助 > 环境信息API 网关 中获取。
  • service-name:API 服务名称。例如:cds-metric-service
  • version:API 版本。目前支持 v1.0
  • endpoint-URL:资源和对资源的操作。例如:metric
  • action=query&:查询参数,如果有多个参数,使用 & 作为分隔符。例如:action=query&orgId={yourOrgId}&mdmIds={yourMdmId}

请求示例


GET https://{api-gateway}/cds-asset-service/v1.0/accessible-asset-type?action=query&orgId=yourOrgId

API 返回结果


API 返回 JSON 结构体,格式如下。


{
    "msg": "OK",
    "code": 0,
    "data": [
      {
         "mdmType": "EnOS_Solar_Site",
         "domain": "solar",
         "domainName": "Solar",
         "isSite": true,
         "name": "exampleSolarSite"
      },
      {
         "mdmType": "EnOS_Solar_Inverter",
         "domain": "solar",
         "domainName": "Solar",
         "isSite": false,
         "name": "exampleSolarInverter"
      }
    ],
    "traceId": "1234567890abcdefghijkl0987654321"
}

返回参数


通用数据服务 API 的返回参数如下。


名称 数据类型 描述
msg String 对状态码的解释和说明。成功为 “OK”。若 API 请求失败,返回具体错误信息。
code Integer API 请求状态码,0 表示请求成功。有关状态码含义,参见返回码章节。
data Array 或 Object API 响应返回结果集,数据类型包括:基本数据类型、复杂类型或数组。
traceId String API 响应事件的 ID,通常用于回溯通用数据服务对某次请求的响应过程,辅助故障排除。

返回码


通用数据服务 API 的返回码如下。


代码 描述
0 请求成功
95400 请求参数非法,请检查请求参数
95500 服务器内部错误,请联系系统管理员
95600 通用数据服务请求数据源服务时发生异常,请联系系统管理员

返回示例


失败示例。


{
    "msg": "[Error!: Asset Not found , Please check that the asset ID is correct. assetIds is [exampleAsset]]",
    "code": 95400,
    "traceId": "1234567890abcdefghijkl0987654321"
}


成功示例。


{
    "msg": "OK",
    "code": 0,
    "data": [
      {
         "mdmType": "EnOS_Solar_Site",
         "domain": "solar",
         "domainName": "Solar",
         "isSite": true,
         "name": "exampleSolarSite"
      },
      {
         "mdmType": "EnOS_Solar_Inverter",
         "domain": "solar",
         "domainName": "Solar",
         "isSite": false,
         "name": "exampleSolarInverter"
      }
    ],
    "traceId": "1234567890abcdefghijkl0987654321"
}