CDN加速

文档中心 直播分发 单域名下多发布点的流量带宽查询API

单域名下多发布点的流量带宽查询API

更新时间:2021-09-07 16:56:12

一.功能简介

  直播业务中,不同的业务放在不同的发布点上,或者有些代理性质客户,用同一个域名,而采用不同发布点来区分其客户,因此需要提供发布点粒度的带宽/流量查询,为满足客户的查询需求,网宿提供目录带宽/流量查询接口,可通过指定时间内查询一个域名底下指定发布点的带宽或流量。
  下面将介绍单域名下多个发布点带宽/流量查询接口。

二.使用说明

  API 地址
  https://open.chinanetcenter.com/api/report/flow/dir/detail

  调用示例
  采用Post方式请求,具体示例如下:

curl -i --url "https://open.chinanetcenter.com/api/report/flow/dir/detail"
  -X POST 
  -u {user}:{password} 
  -H 'Date: Fri, 26 Oct 2012 06:33:26 GMT' 
  -H 'Accept: application/json'
  -d @file
file中:
{"dateFrom": "2016-12-02T10:00:00+08:00",
"dateTo": "2016-12-03T10:00:00+08:00",
"domainDir": [{ "domain": "www.baidu1.com", "dir": ["live1","live2"]}],
"dataInterval": "5m",
"dataType": "flow ",
"protocolType": "http "
}

  其中
  user=SI 账号

Date=` env LANG=en_US.UTF-8 date -u “+%a, %d %b %Y %H:%M:%S GMT”`
password=Base64(HMAC-SHA1(UTF-8(Date), UTF-8(API_KEY))
        =`echo -en "$DATE" | openssl dgst -sha1 -hmac "$API_KEY" -binary | openssl enc -base64`

  入参参数说明

参数名称 类型 必选 描述
dateFrom String 开始时间,格式为yyyy-MM-dd'T'HH:mm:ss+08:00;
dateTo String 结束时间,格式为yyyy-MM-dd'T'HH:mm:ss+08:00;
domain String 域名,一次传入的域名个数上限为20个,可调整。
dir Array 空值和不传代表查询所有目录,一次传入目录个数上限默认200个,可调整。
protocolType String 查询协议,代表统计http协议或https协议;
dataInterval String 查询粒度,默认5m,不传则默认返回,即数据按5分钟粒度返回,可配置1m,1分钟粒度。
dataType String 查询类型,可选值:flow 或bandwidth;,bandwidth代表获取带宽值。5m流量数据5分钟点*8除以300,1m流量数据*8除以60,默认查询所有区域的数据。flow代表输出流量数据,响应的时候给出每路流的总和。

  数据返回

查询dataType为flow
  {"result":[
          {"domain":"test.com",
              "details":[
                  {   "dir":"live1",
                      "totalFlow":"3147.04",
                       "details":[
                          {"timestamp":"2017-05-24 16:20","value":"730.68"},
                          {"timestamp":"2017-05-24 16:25","value":"752.67"}
                               ]
                  }
              ]
           }]
  }
 //查询dataType为bandwidth
  {"result":[
          {"domain":"test.tv",
           "details":[
                  {     "dir":"live2",
                        "bandwidthPeakValue":"15.65",
                        "details":[
                          {"timestamp":"2017-05-24 16:40","value":"15.65"},
                          {"timestamp":"2017-05-24 16:45","value":"15.00"}
                                ]
                  }]
          }]
  }

  出参参数说明

参数名称 类型 描述
domain String 域名
dir String 目录
timestamp String 时间,格式为yyyy-MM-dd HH:mm
value String 时间点的数据,保留2位小数
bandwidthPeakValue String 当dataType为bandwidth时返回;每路流在该时间段内的带宽峰值单位Mbps,保留2位小数;
totalFlow String 当dataType为flow时返回;每路流的总流量单位MB,保留2位小数;

  错误返回码说明

HTTP状态码 描述 语义
400 There was an error in the body of your HTTP request. 请求体格式错误
400 The date specified is invalid. dateFrom或dateTo不符合规范
400 You cannot specify a period greater than 7. dateFrom和dateTo相差超过7天
404 The specified domain does not exist. 传递的域名不存在
403 The number of domain is excessive once. 传递的域名个数超过账号限制
403 The number of dir is excessive once. 传递的目录个数超过账号限制
400 param: dataInterval is null or invalid. 参数dataInterval不符合规范
400 param: dataType is null or invalid. 参数dataType不符合规范
400 param: domainDir is null or invalid. 参数domainDir不符合规范
400 param: domain is null or invalid. 参数domain不符合规范
400 param: protocolType is null or invalid. 参数protocolType不符合规范
400 param: dir is null or invalid. 参数dir不符合规范
500 We encountered an internal error. Please try again. 系统发生错误

三.应用场景

  所有直播业务中,直播平台需要了解指定时间段内发布点的带宽或流量数据。

四.注意事项

  1) Date为格林尼治标准时间。
  2) 鉴权所需APIKEY,由网宿项目经理提供。
  3) 开始时间不得大于接口调用当前时间,且开始和结束时间的间隔不得大于7天;
  4) 单次查询最多只能携带20个域名,200个发布点,若要增加,需与网宿协商。
  5) 当粒度选择为1分钟时,一天开始的时间片是yyyy-MM-dd 00:01,最后一个时间片是(yyyy-MM-dd+1) 00:00,五分钟粒度同理。
  6) 接口调用限制5分钟30次;