You need to enable JavaScript to run this app.
内容分发网络

内容分发网络

复制全文
数据统计接口(旧版)
DescribeCdnData - 获取访问统计的细分数据
复制全文
DescribeCdnData - 获取访问统计的细分数据

说明

我们全新设计了数据统计 API。推荐您使用以下新版 API。

API 说明

API 名称:DescribeCdnData
API 域名:cdn.volcengineapi.com
API 描述:基于指定的时间段和时间粒度,对一个或多个域名统计访问请求指标的数据。指标数据是按统计时间段统计的。

数据稳定性:受边缘节点网络波动的影响,监控数据的统计可能会发生变化。大多数情况下,监控数据的统计会在数据产生后的 12 小时内稳定下来。

说明

如果您是刚开始使用数据统计的 API,请务必先阅读以下文档,这将有助于您理解该 API 文档。

使用限制

节流限制:您每秒最多可以发送 20 个 API 请求。

数据保留期限:系统保留最近 92 天的访问数据。您不能查询 92 天以前的访问数据。

数据时效性:访问数据的延迟约为 5 分钟。

公共参数

在调用该 API 时,您在请求中必须包含公共参数。在这些公共参数中,以下两个查询参数的取值说明如下:

参数名称数据类型必选参数说明
Actionstring表示 API 的名称。该参数的取值是 DescribeCdnData
Versionstring表示 API 的版本。该参数的取值是 2021-03-01

请求鉴权

每个请求中必须包含鉴权信息。该鉴权信息用以验证请求者的身份。参见请求鉴权

请求正文参数

在您调用该 API 时,请求正文中可以包含的参数如下。

参数名称
数据类型
必选
参数说明
示例
StartTime
int64
指定一个开始时间。时间格式是 Unix 时间戳,精度是秒。StartTime 必须早于或者等于 EndTime

您必须同时指定 StartTimeEndTime,或者都不指定。如果您不指定这 2 个参数,默认统计最近 24 小时的数据。

StartTimeEndTimeInterval 这三个参数决定了该 API 对哪些时间段做数据统计。参考 统计时间段说明
1641844915
EndTime
int64
指定一个结束时间。时间格式是 Unix 时间戳,精度是秒。
1641845373
Metric
string
指定一个指标。该参数的可用值如下:
  • flux:表示访问数据的流量,单位是 Byte。
  • bandwidth:表示访问数据的带宽,单位是 bps。
  • pv:表示访问的请求数。单位是个。
  • qps:表示访问请求的 QPS,单位是次/秒。
  • response_time:表示访问请求的平均响应时间。单位是毫秒。如果该参数值是 0,则表示没有相应的指标数据。
  • avg_speed:表示响应状态码是 2xx 的请求的平均下载速度。
  • hitrate:表示平均流量命中率。单位是%。参数值保留 4 位小数。
  • pvhitrate:表示平均请求命中率。单位是%。参数值保留 4 位小数。
  • status_all:表示所有边缘节点响应状态码的数量以及各状态码组中状态码的数量。每个状态码组包含同一数字开头的状态码。
  • status_2xx:表示数字 2 开头的每个状态码的数量。
  • status_3xx:表示数字 3 开头的每个状态码的数量。
  • status_4xx:表示数字 4 开头的每个状态码的数量。
  • status_5xx:表示数字 5 开头的每个状态码的数量。
flux
Domain
string
指定一个或多个加速域名。最多可指定 50 个加速域名。多域名场景下可使用 Aggregate 参数聚合统计或分域名统计。

多个加速域名使用逗号(,)分隔。逗号后面不能加空格。

如果不指定该参数,则包含账号下的所有域名。

子账号调用说明:
如果是子账号调用该 API,需要注意以下几点:
  • 子账号指定了 Domain 参数。但是在指定的加速域名中存在该子账号无权限访问的域名。此时 API 调用会失败并且报您没有权限执行该操作错误。
  • 子账号未指定 Domain 参数。此时则包含该子账号有权限访问的所有域名。
关于更多子账号权限信息,参考权限管理概述
www.example.com
Interval
string
指定一个时间粒度。基于这个粒度,对访问数据进行细分统计。

该参数的可用值如下:
  • 1min:表示以 1 分钟为时间粒度。
  • 5min:表示以 5 分钟为时间粒度。
  • hour:表示以 1 小时为时间粒度。
  • day:表示以 1 天为时间粒度。
您可以指定的时间粒度与StartTimeEndTime 指定的时间范围的关系如下:
  • 如果时间范围 <= 1 天,您可以指定的时间粒度有 1min5minhour
  • 如果时间范围 > 1 天并且 <= 31 天,您可以指定的时间粒度有 5minhourday
  • 如果时间范围 > 31 天并且 <= 92 天,您可以指定的时间粒度有 day
如果不指定该参数,该参数使用默认值 5min。如果默认值不匹配时间范围,API 请求会失败。
1min
Area
string
指定一个区域,统计 IP 归属地为这些区域的访问细分数据。该参数的可用值如下:
  • China:表示中国区域。
  • Global:表示全球区域。
在统计非中国区数据时,如果指定了 GlobalRegion,则不能使用 Isp 对数据进行筛选。

如果不指定该参数,表示仅通过 Region 筛选。具体参见 Region 参数。

您不能使用该参数筛选命中率相关指标。
China
Region
string
指定一个国家、地区和中国省份的代码,统计 IP 归属地为该区域的访问细分数据。国家,地区和省份代码可通过调用 DescribeCdnRegionAndIsp 获取。

如果 Metricflux 或者 bandwidth,您可以指定最多 5 个,以逗号(,)分隔的国家、地区和中国省份代码。如果您指定了多个国家、地区和中国省份,会存在以下限制:
  • 您不能指定 Isp 参数。
  • 您不能指定 Domain 参数或在 Domain 参数中最多只能指定一个域名。
如果您指定了 Area 参数,有以下几种情况:
  • Area = China 时,Region 参数有以下几种情况:
    • 如果指定 Region 参数,Region 参数只能是中国的省份。表示仅统计该省份的数据。
    • 如果不指定 Region 参数,表示统计的是中国所有省份的汇总数据。
  • Area = Global 时,有以下几种情况:
    • 如果指定 Region 参数,Region 参数可以是某个国家,地区或者中国的某个省份。表示统计该国家,该地区或者该中国省份的数据。例如,当 Region = CHN 时,统计的是中国所有省份的汇总数据。
    • 如果不指定 Region 参数,表示统计的是所有国家和地区的汇总数据。
当不指定 Area 参数时,有以下几种情况:
  • 如果不指定 Region 参数,表示统计的是所有国家和地区的汇总数据。
  • 如果 Region = CHN,表示统计的是中国所有省份的汇总数据。
  • 如果 Region 参数是其他某个国家,地区或者中国的某个省份,表示统计该国家,该地区或者该中国省份的数据。
您不能使用该参数筛选命中率相关指标,当BillingRegion不为CHN时该参数无效。
BJ
Isp
string
指定一个 ISP 的代码,统计使用该 ISP 线路的访问细分数据。ISP 代码可通过调用 DescribeCdnRegionAndIsp 获取。如果不指定该参数,表示包含所有 ISP 。

如果 Metricflux 或者 bandwidth,您可以指定最多 5 个,以逗号(,)分隔的 ISP 代码。如果您指定了多个 ISP 代码,会存在以下限制:
  • 您不能指定 Region 参数。
  • 您不能指定 Domain 参数或在 Domain 参数中最多只能指定一个域名。
您不能使用该参数筛选命中率相关指标,当BillingRegion不为CHN时该参数无效。
CT
BillingRegion
string
指定一个计费区,统计指定计费区的访问数据,计费区是节点的 IP 归属的区域。该参数的可用值如下:
  • CHN:表示中国内地。
  • EU:表示欧洲区。
  • NA:表示北美区。
  • SA:表示南美区。
  • ME:表示中东区和非洲区。该参数值在未来会被弃用。请使用 MEA 代替。
  • MEA:表示中东区和非洲区。
  • AP1:表示亚太一区。
  • AP2:表示亚太二区。
  • AP3:表示亚太三区。
  • All:表示对每个计费区统计访问数据。
不指定该参数时,统计的是所有计费区的汇总数据。
CHN
Protocol
string
指定请求的一个应用层协议。该参数的可用值如下:
  • http:表示 HTTP 协议。
  • https:表示 HTTPS 协议。
  • quic:表示 QUIC 协议。
如果不指定该参数,表示包含所有支持的应用层协议。

您不能使用该参数筛选命中率相关指标。
http
IpVersion
string
指定请求的一个网络层协议。该参数的可用值如下:
  • ipv4:表示 IPv4 访客的请求。
  • ipv6:表示 IPv6 访客的请求。
如果不指定该参数,表示包含所有支持的网络层协议。

您不能使用该参数筛选命中率相关指标。
ipv6
Aggregate
string
指定是否汇总所有加速域名的指标。该参数适用于指定多个多加速域名进行统计的场景。该参数的可用值如下:
  • aggregate:汇总所有加速域名的指标。
  • disaggregate:不汇总加速域名的指标。
如果不指定 Domain 参数,表示对账号下所有加速域名进行统计。此时系统强制设置 Aggregate 参数值为 aggregate。API 返回账号下所有域名的汇总指标。

如果指定 Domain 参数。此时:
  • 如果不指定 Aggregate 参数,API 返回的内容还包括所有指定域名的汇总指标。
  • 如果设置 Aggregate 参数值为 disaggregate,API 返回的内容不包括所有指定域名的汇总指标。
  • 如果设置 Aggregate 参数值为 aggregate,API 仅返回所有指定域名的汇总指标。
disaggregate

统计时间段说明

StartTimeEndTimeInterval 这三个参数决定了该 API 对哪些时间段做数据统计。每个统计时间段的开始时间点的数据包含在统计结果中,结束时间点的数据不包含。数学表示类似 [07:04:00 - 07:05:00)。
该 API 按照以下规则决定数据统计的时间段:

  • Interval 指定的时间粒度下,第一个统计时间段的开始时间是最接近 StartTime 的时间。该时间早于或者等于 StartTime

  • Interval 指定的时间粒度下,最后一个统计时间段的开始时间是最接近 EndTime 的时间。该时间早于或者等于 EndTime

  • 如果 EndTime 匹配 Interval,那么最后一个统计时间段的开始时间是 EndTime

    • 示例 1:Interval5min, EndTime 是 14:15:00。此时,最后一个统计时间段是 [14:15:00 - 14:20:00)。

    • 示例 2:Intervalhour, EndTime 是 14:00:00。此时,最后一个统计时间段是 [14:00:00 - 15:00:00)。

更多示例
为了简化描述,以下例子中 StartTimeEndTime 的说明仅指出了时间部分,省略了日期部分。

StartTimeEndTimeInterval统计时间段

1665039840
该时间戳表示的时间是 07:04:00

StartTime 相同

1min

  • [07:04:00 - 07:05:00)

1665039959 该时间戳表示的时间是 07:06:00

  • [07:04:00 - 07:05:00)

  • [07:05:00 - 07:06:00)

  • [07:06:00 - 07:07:00)

1665039959 该时间戳表示的时间是 07:05:59

  • [07:04:00 - 07:05:00)

  • [07:05:00 - 07:06:00)

1665040380 该时间戳表示的时间是 07:13:00

5min

  • [07:00:00 - 07:05:00)

  • [07:05:00 - 07:10:00)

  • [07:10:00 - 07:15:00)

1665040500 该时间戳表示的时间是 07:15:00

  • [07:00:00 - 07:05:00)

  • [07:05:00 - 07:10:00)

  • [07:10:00 - 07:15:00)

  • [07:15:00 - 07:20:00)

1665048000 该时间戳表示的时间是 09:20:00

hour

  • [07:00:00 - 08:00:00)

  • [08:00:00 - 09:00:00)

  • [09:00:00 - 10:00:00)

1665050400 该时间戳表示的时间是 10:00:00

  • [07:00:00 - 08:00:00)

  • [08:00:00 - 09:00:00)

  • [09:00:00 - 10:00:00)

  • [10:00:00 - 11:00:00)

响应正文

参数名称
数据类型
参数说明
示例
Resources
ResourceStatData[]

示例

请求示例

POST https://cdn.volcengineapi.com/?Version=2021-03-01&Action=DescribeCdnData
{
    "StartTime": 1631635200,
    "EndTime": 1631642400,
    "Metric": "flux",
    "Domain": "www.example.com,www.example2.com",
    "Interval": "5min"
}

响应示例

{
    "ResponseMetadata": {
        "RequestId": "021632476592198fe8000000001115165",
        "Action": "DescribeCdnData",
        "Version": "2021-03-01",
        "Service": "CDN",
        "Region": "cn-north-1"
    },
    "Result": {
        "Resources": [
            {
                "Name": "www.example.com",
                "Metrics": [
                    {
                        "Metric": "flux",
                        "Values": [
                            {
                                "Timestamp": 1631635200,
                                "Value": 138.0000    //域名无数据时Value值将会做补0处理
                            },
                            ...
                        ]
                    }
                ]
            },
            {
                "Name": "www.example2.com",
                "Metrics": [
                    {
                        "Metric": "flux",
                        "Values": [
                            {
                                "Timestamp": 1631635200,
                                "Value": 116.0000
                            },
                            ...
                        ]
                    }
                ]
            },
            {
                "Name": "total",
                "Metrics": [
                    {
                        "Metric": "flux",
                        "Values": [
                            {
                                "Timestamp": 1631635200,
                                "Value": 254.0000
                            },
                            ...
                        ]
                    }
                ]
            }
        ]
    }
}

错误代码

如果响应正文包含 Error 字段,则表示 API 请求失败。关于更多错误码的信息,参见 错误码

最近更新时间:2025.12.01 14:38:50
这个页面对您有帮助吗?
有用
有用
无用
无用