跳转至

CDN 2.0 流量数据统计

POST 查询流量数据统计 multi:cdn:query

POST /prod-api/multiCdn/statistic/describeTrafficData

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

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

Body 请求参数

{
  "action": [
    {
      "metricName": "trafficRank",
      "pageNo": 1,
      "pageSize": 10
    },
    {
      "metricName": "traffic"
    }
  ],
  "domains": [],
  "interval": "5m",
  "params": {
    "beginTime": "2026-07-13 00:00:00",
    "endTime": "2026-07-20 15:57:29"
  }
}

请求参数

名称 位置 类型 必选 说明
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 含义 返回重点
traffic 流量趋势 objectArrayListMaptotalMap
trafficRank 域名流量排行 list(按流量降序)

说明:

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

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

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

返回示例

200 Response

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

{
  "msg": "成功",
  "code": 200,
  "data": [
    {
      "metricName": "trafficRank",
      "list": [
        {
          "name": "demo.com",
          "value": 12249208789340
        },
        {
          "name": "tesxt.com",
          "value": 1077190784870
        }

      ]
    },
    {
      "metricName": "traffic",
      "objectArrayListMap": {
        "outside_chinese_mainland": [
          [1783872300000, 4439270124],
          [1783872600000, 8560077203],
          [1783872900000, 10278522994]
        ],
        "bytesSent": [
          [1783872300000, 4439270124],
          [1783872600000, 8560077203],
          [1783872900000, 10278522994]
        ]
      },
      "totalMap": {
        "outside_chinese_mainland": 13326595592492,
        "bytesSent": 13326595592492
      }
    }
  ]
}

返回结果

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

返回数据结构

状态码 200

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

data[]metricNametrafficRank

名称 类型 说明
metricName string 固定为 trafficRank
list array 排行列表,按流量从高到低
list[].name string 域名
list[].value number 该域名在查询时间范围内的流量(字节)

data[]metricNametraffic

名称 类型 说明
metricName string 固定为 traffic
objectArrayListMap object 流量时间序列,见下表
totalMap object 各序列对应的流量合计(字节)

objectArrayListMap 常用 key:

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

时间序列元素格式:

每个点是长度为 2 的数组:[毫秒时间戳, 流量字节数]

下标 含义 示例
[0] Unix 毫秒时间戳 1783872300000
[1] 该时间粒度内的流量(字节) 4439270124

totalMap

key 说明
bytesSent 查询时间范围内的总流量(字节)
区域名 该区域的流量合计。本示例中 outside_chinese_mainlandbytesSent 相同,表示数据全部来自该区域

字段怎么用(客户侧)

  1. 画「流量趋势图」:取 metricName === "traffic" 的项,使用 objectArrayListMap.bytesSent,横轴为时间戳,纵轴为流量字节数(展示时可换算为 KB/MB/GB)。
  2. 按区域拆分展示:同一对象里除 bytesSent 外的 key(如 outside_chinese_mainland)即为分区域曲线。
  3. 展示「域名流量 TOP」:取 metricName === "trafficRank" 的项,遍历 listname 为域名,value 为流量字节数。
  4. 汇总数字:直接读 totalMap.bytesSent

数据模型

{
  "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"
  }
}