如何使用 API 实现单次调用中的分组查询

最近更新时间:2026-01-13 17:11:22

我的收藏
EdgeOne 数据查询接口支持传入DimensionName参数用于指定返回数据中的分组维度,以实现一次查询获取多个分组数据的效果,可以极大程度上减少 API 调用频次,简化您获取统计数据的操作。例如:在某次调用中入参 DimensionName = domain,则返回数据将按照每个域名单独返回一组数据。

适用范围

分组查询功能适用于以下 API:

使用场景

以下场景展示了如何通过组合 DimensionNameFilters 参数,实现高效、灵活的数据获取。在涉及大量域名或精细状态码的查询时,建议优先使用 Filters进行预筛选,并选择合适的查询粒度(Interval)。

场景1:批量获取多域名数据

在单一请求中同时查询多个域名的指标数据,避免为每个域名发起单独调用。
入参示例
{
"ZoneIds": ["*"],
"MetricNames": ["l7Flow_inFlux_hy"],
"StartTime": "2025-12-01T00:00:00Z",
"EndTime": "2025-12-02T00:00:00Z",
"Interval": "hour",
"Filters": [
{
"Key": "domain",
"Operator": "equals",
"Value": ["example.com", "api.example.com"]
}
],
"DimensionName": "domain"
}

场景2:按状态码类别进行聚合分析

获取按回源状态码大类(如2xx, 4xx, 5xx)分组的聚合数据。
入参示例
{
"ZoneIds": ["*"],
"MetricNames": ["l7Flow_request_hy"],
"StartTime": "2025-12-01T00:00:00Z",
"EndTime": "2025-12-01T12:00:00Z",
"Interval": "hour",
"Filters": [
{
"Key": "originStatusCode",
"Operator": "equals",
"Value": ["2xx", "4xx", "5xx"]
}
],
"DimensionName": "origin-status-code-category"
}

使用限制

单次请求最多返回 50,000 个数据项 TimingDataItem。数据项总数的计算规则如下:
指标个数 * 时间点个数 * 维度值个数 = 数据项总数
指标个数:MetricNames的列表长度。
时间点个数:(EndTime - StartTime) / Interval
维度值个数:
当未指定 DimensionName 时,默认按账号维度汇总数据,维度值个数为 1。
DimensionName = domain 时,维度值个数为 Filtersdomain 过滤条件指定的域名列表长度。
DimensionName = origin-status-code-category 时,维度值个数默认为 6。
DimensionName = origin-status-code 时,维度值个数默认为 600。
DimensionName 可以与 Filters 组合使用,通过在 Filters 中指定 DimensionName 对应的过滤条件以限制维度值个数。

示例

以查询某一小时的具体状态码维度的时序数据为例,假设查询条件如下:
MetricNames = ["l7Flow_request_hy"](指标个数 = 1)
StartTime = 2025-10-01T06:00:00+08:00EndTime = 2025-10-01T06:59:59+08:00Interval = "min"(时间点个数 = 60)
DimensionName = origin-status-codeFilters = [{"originStatusCode": ["0", "4xx", "5xx"]}](维度值个数 = 201)
则数据项总数为:
1 × 60 × 201 = 12060
未超过限制。
注意:
若查询的数据项总数超过 50,000,系统会返回错误 LimitExceeded.TimingDataItemLimitExceeded
此时,请通过调整入参减少单次查询的数据项至 50,000 以内,可采取的做法有:
1. 减少时间点个数:
缩短查询时间范围(StartTimeEndTime 之间的时间跨度)。
选择更大的时间间隔(Interval)。
2. 减少维度值个数:
调整 Filters,指定更少的 domainoriginStatusCode 列表。
3. 减少指标值个数:
调整 MetricNames,指定更少的查询指标。