Query Historical Metric¶
根据指标标识符等信息获取指标的历史数据。支持按查询对象分组或指定维度进行指标聚合。
请求格式¶
GET/POST https://{api-gateway}/cds-metric-service/v1.0/metric?action=query
请求参数¶
名称 |
位置 |
必需/可选 |
数据类型 |
描述 |
---|---|---|---|---|
orgId |
Query |
必需 |
String |
指标所属的组织 ID。如何获取 orgId 信息>> |
mdmIds |
Query/Form |
必需 |
String |
指标对应的对象实例的标识符,多个对象实例之间用英文逗号隔开。单次查询指定的对象实例数量不超过 20000。为保证查询性能,建议单次查询指定的对象实例数量不超过 100。基础查询格式:mdmId1,mdmId2,mdmId3,mdmId4;分组聚合查询格式:mdmId1,mdmId2:group1|mdmId3,mdmId4:group2。 |
metrics |
Query/Form |
必需 |
String |
指标的标识符,多个指标之间用英文逗号隔开。单次查询指定的指标数量不超过 100。如何获取 metrics 信息>> |
startTime |
Query/Form |
必需 |
String |
采样数据开始时间,格式:yyyy-MM-dd HH:mm:ss。通用数据服务根据每个查询资产所在时区的当地时间进行查询。 |
endTime |
Query/Form |
必需 |
String |
采样数据结束时间,格式与开始时间保持一致。开始时间和结束时间之间的天数不超过 4000。 |
timeGroup |
Query/Form |
必需 |
String |
指标聚合的时间粒度。目前支持以下时间粒度:1m(1分钟),5m(5分钟),10m(10分钟),15m(15分钟),30m(30分钟),H(小时),D(日),W(周),M(月),Y(年), T(总计)。注意需保证 (endTime-startTime) / timeGroup 得到的数值不超过400,即:开始时间与结束时间之间包含指定时间粒度的数量不超过 400。 |
preserveIndex |
Query/Form |
可选 |
Boolean |
是否保留索引(例如:mdmId 和 time 等非指标数据),默认为 false。 |
dimensions |
Query/Form |
可选 |
String |
除资产和时间之外的维度,例如:设备型号、设备制造商。该参数用于聚合查询或筛选,多个维度之间用英文逗号隔开。单次查询指定的维度数量不超过 10。如何获取 dimensions 信息>> |
rollup |
Query/Form |
可选 |
Boolean |
多维度查询时是否进行分级小计。 |
rollupDimensions |
Query/Form |
可选 |
String |
多维度查询时需要进行聚合的维度。 |
withDimensionName |
Query/Form |
可选 |
Boolean |
在返回维度标识符时,是否同时返回维度名称。 |
locale |
Query/Form |
可选 |
String |
中文:zh-CN, 英文:en-US, 日语:ja-JP,西班牙语:es-ES。默认为 en-US。 |
filter |
Query/Form |
可选 |
String |
返回结果按 metrics 或 dimensions 进行过滤。例如:[[{“field”:”field1”,”operator”:”>=”,”value”:”1”},{“field”:”field2”,”operator”:”<=”,”value”:”2”}],[{“field”:”field3”,”operator”:”==”,”value”:”3”}]],该表达式含义为:(field1 >= 1 and field2 <= 2) or (field3=3)。 |
orderBy |
Query/Form |
可选 |
String |
返回结果按 metrics 或 dimensions 进行排序。例如:[{“field”:”field1”,”order”:”ASC”}, {“field”:”field2”,”order”:”DESC”}],该表达式含义为:按 field1 升序进行一级排序,并按 field2 降序进行二级排序。 |
pageSize |
Query/Form |
可选 |
Integer |
分页查询时单页返回记录的条数,最大值为 20000。 |
pageNo |
Query/Form |
可选 |
Integer |
分页查询时指定页码,从 1 开始。 |
mdmTypes |
Query/Form |
可选 |
String |
指标对应的对象类型的标识符。该参数用于过滤查询对象实例。 |
virtualDimensions |
Query/Form |
可选 |
String |
指定自定义的维度信息替代 dimensions。格式为:mdmId,dim1,dim2|mdmId1,enum1A,enum2A|mdmId2,enum1B,enum2B。 |
返回内容类型¶
application/json; charset = UTF-8
响应参数¶
名称 |
必然/可能返回 |
数据类型 |
描述 |
---|---|---|---|
mdmId |
必然返回 |
String |
指标所属的资产实例的标识符。为保证查询性能,建议单次查询指定的对象实例数量不超过 100。 |
time |
必然返回 |
String |
数据本地时间标记。 |
metric |
必然返回 |
Object |
描述指标的时序数据值。 |
dimension |
可能返回 |
Object |
描述指标的维度信息。 |
pagination |
必然返回 |
Pagination 结构体 |
描述分页信息。参见 Pagination 结构体。 |
Pagination 结构体 ¶
名称 |
必然/可能返回 |
数据类型 |
描述 |
---|---|---|---|
pageNo |
必然返回 |
Integer |
请求页数,从 1 开始。 |
pageSize |
必然返回 |
Integer |
每页的记录数。 |
totalSize |
必然返回 |
Integer |
记录总数。 |
返回码¶
参见 通用数据服务 API 返回码。
示例¶
请求示例¶
GET https://{api-gateway}/cds-metric-service/v1.0/metric?action=query&orgId=yourOrgId&mdmIds=yourMdmId&metrics=yourMetrics&startTime=yourStartTime&endTime=yourEndTime&timeGroup=yourTimeGroup&pageNo=1&pageSize=20000
返回示例¶
{
"pagination":
{
"pageNo": 1,
"pageSize": 20000,
"totalSize": 2
},
"data": [
{
"metrica": 9999.000000,
"metricb": 0.3717,
"metricc": 223,
"dimension1": "dimension1",
"dimension2": "dimension2",
"mdmId": "yourMdmId",
"time": "2019-01"
},
{
"metrica": 9999.000000,
"metricb": 0.0417,
"metricc": 25,
"dimension1": "dimension1",
"dimension2": "dimension2",
"mdmId": "yourMdmId",
"time": "2019-02"
}
],
"code": 0,
"msg": "OK",
"traceId": "1234567890abcdefghijkl0987654321"
}