跳转至

CDN 2.0 请求数据统计

POST 查询请求数据统计 multi:cdn:query

POST /prod-api/multiCdn/statistic/describeRequestData

查询 CDN 请求量趋势与域名/套餐请求排行。一次请求可在 action 中同时声明多个指标,返回的 data 数组与 action 顺序一一对应。

权限:multi:cdn:query
策略:cdn2:DescribeAnalytics

Body 请求参数

{
  "action": [
    {
      "metricName": "requestRank",
      "pageNo": 1,
      "pageSize": 10
    },
    {
      "metricName": "request"
    }
  ],
  "domains": [],
  "interval": "5m",
  "params": {
    "beginTime": "2026-07-13 00:00:00",
    "endTime": "2026-07-20 14:48:13"
  }
}

请求参数

名称 位置 类型 必选 说明
Authorization header string Bearer Token
body body object 见下方字段说明

Body 字段说明

字段 类型 必选 说明
action array 统计指标列表,见「支持的 metricName」
domains string[] 域名过滤。传空数组 [] 或不传,表示统计当前账号下全部域名;支持通配符,如 *.example.com
interval string 时间粒度:5m(5 分钟)、1h(1 小时)、1d(1 天)。不传时按时间跨度自动选择
params object 时间范围

action[] 单项

字段 类型 必选 说明
metricName string 见下表
pageNo integer 页码,从 1 开始,默认 1。仅排行类指标有效
pageSize integer 每页条数,默认 10。仅排行类指标有效

支持的 metricName

metricName 含义 返回重点
request 请求量趋势 objectArrayListMaptotalMap
requestRank 域名请求排行 list(按请求量降序)

说明:

  • 本接口只允许上述两个 metricName,否则返回错误。
  • action 不能为空。
  • 时间范围只能查询最近 180 天;beginTime / endTime 格式为 yyyy-MM-dd HH:mm:ss

interval 自动选择规则(未传时)

时间跨度 自动粒度
≤ 8 天 5 分钟
≤ 30 天 1 小时
≤ 90 天 1 天

返回示例

200 Response

说明:真实返回中 request 的时间序列可能很长,以下示例已截断,仅保留结构与少量数据点,便于理解字段含义。

{
  "msg": "成功",
  "code": 200,
  "data": [
    {
      "metricName": "requestRank",

      "list": [
        {
          "name": "demo.com",
          "value": 45118541
        },
        {
          "name": "demoe.com",
          "value": 3708955
        }
      ]
    },
    {
      "metricName": "request",

      "objectArrayListMap": {
        "outside_chinese_mainland": [
          [1783872300000, 15391],
          [1783872600000, 32355],
          [1783872900000, 40828]
        ],
        "requestCounter": [
          [1783872300000, 15391],
          [1783872600000, 32355],
          [1783872900000, 40828]
        ]
      },
      "totalMap": {
        "outside_chinese_mainland": 48828512,
        "requestCounter": 48828512
      }
    }
  ]
}

返回结果

状态码 状态码含义 说明 数据模型
200 OK 成功 Inline
401 Unauthorized 未鉴权 none
403 Forbidden 无权限 none

返回数据结构

状态码 200

名称 类型 说明
msg string 提示信息,成功时一般为「成功」
code integer 状态码,成功为 200
data array 指标结果列表,顺序与请求 action 一致

data[]metricNamerequestRank

名称 类型 说明
metricName string 固定为 requestRank
list array 排行列表,按请求量从高到低
list[].name string 域名
list[].value number 该域名在查询时间范围内的请求次数

data[]metricNamerequest

名称 类型 说明
metricName string 固定为 request
objectArrayListMap object 请求量时间序列,见下表
totalMap object 各序列对应的请求量合计

objectArrayListMap 常用 key:

key 说明
requestCounter 全区域汇总的请求量趋势(画总趋势图用这个)
chinese_mainland 等区域名 该区域的请求量趋势。本示例中为 outside_chinese_mainland

时间序列元素格式:

每个点是长度为 2 的数组:[毫秒时间戳, 请求次数]

下标 含义 示例
[0] Unix 毫秒时间戳 1783872300000
[1] 该时间粒度内的请求次数 15391

totalMap

key 说明
requestCounter 查询时间范围内的总请求数
区域名 该区域的请求合计。本示例中 outside_chinese_mainlandrequestCounter 相同,表示数据全部来自该区域

字段怎么用(客户侧)

  1. 画「请求量趋势图」:取 metricName === "request" 的项,使用 objectArrayListMap.requestCounter,横轴为时间戳,纵轴为请求次数。
  2. 按区域拆分展示:同一对象里除 requestCounter 外的 key(如 outside_chinese_mainland)即为分区域曲线。
  3. 展示「域名请求 TOP」:取 metricName === "requestRank" 的项,遍历 listname 为域名,value 为请求数。
  4. 汇总数字:直接读 totalMap.requestCounter

数据模型

{
  "action": [
    {
      "metricName": "string",
      "pageNo": 1,
      "pageSize": 10
    }
  ],
  "domains": ["string"],
  "interval": "5m",
  "params": {
    "beginTime": "yyyy-MM-dd HH:mm:ss",
    "endTime": "yyyy-MM-dd HH:mm:ss"
  }
}