查询多域名的指定传输协议的流量,针对的是所有边缘节点的数据。
参数名称 | 描述 |
---|---|
dateFromString | 开始时间
1.格式为yyyy-MM-ddTHH:mm:ss+08:00;
2.必须大于当前时间-183天,并且小于当前时间和dateTo;
3.dateFrom和dateTo相差不能超过7天(可联系技术支持调整);
4.dateFrom和dateTo要么都传递,要么都不传递;
5.dateFrom和dateTo都未传递,则默认查询过去24小时的数据 |
dateToString | 结束时间
1.格式为yyyy-MM-ddTHH:mm:ss+08:00;
2.必须大于dateFrom;
3.如果大于当前时间,则重新赋值为当前时间; |
*domainList | 域名,域名个数限制根据账号可调,默认为20个 |
dataIntervalString | 数据粒度:
支持1m(1分钟),5m(5分钟),1h(1小时),1d(1天) |
protocolTypeString | 传输协议
1.可选值为http、https;
2.不传默认查询https;
3.查询http时出参展示httpFlowData,查询https时出参展示httpsFlowData; |
groupByList | 分组维度
1.可选值为domain;
2.有传入则按照该维度展示明细数据; |
参数名称 | 描述 |
---|---|
resultList | 结果 |
domainString | 域名 |
httpsFlowDataList | |
timestampString | 时间,格式为yyyy-MM-dd HH:mm;每一个时间片数据值代表的是前一个时间粒度范围内的数据值。一天开始的时间片是yyyy-MM-dd 00:05,最后一个时间片是(yyyy-MM-dd+1)00:00。 |
valueString | 流量值,单位MB,保留2位小数 |
错误代码(code) | 描述(message) | HTTP状态码 | 语义 |
---|---|---|---|
NotAcceptable | The accept header specified in your request is not acceptable. | 400 | Accept请求头不支持,接口仅支持json和xml格式,默认为json格式 |
MissingBody | This operation requires a body. Ensure that the body is present and the Content-Type header is set. | 400 | 请求体没有传递 |
InvalidHTTPRequest | There was an error in the body of your HTTP request. | 400 | 请求体格式错误 |
InvalidDatePeriod | The date specified is invalid. | 400 | dateFrom或dateTo不符合规范 |
DateSpanError | You cannot specify a period greater than 7. | 400 | dateFrom和dateTo相差超过7天 |
NumberLimitExceeded | The request was rejected because the number of domain({actual}) exceeds the limit ({expect}). | 400 | 传递的域名个数超过账号限制 |
PARAM_INVALID | param: groupBy is null or invalid. | 400 | 参数groupBy不符合规范 |
InternalError | We encountered an internal error. Please try again. | 500 | 系统发生错误 |
PARAM_INVALID | param: domain is null or invalid. | 400 | 参数domain不符合规范 |
PARAM_INVALID | param: dataInterval is null or invalid. | 400 | 参数dataInterval不符合规范 |
PARAM_INVALID | param: protocolType is null or invalid. | 400 | 参数protocolType不符合规范 |
#!/bin/bash # Please remember to change the param (-H "X-Time-Zone") in this demo to the TimeZone you want in response username='example_username' apiKey='example_apiKey' date=`env LANG="en_US.UTF-8" date -u "+%a, %d %b %Y %H:%M:%S GMT"` password=`echo -en "$date" | openssl dgst -sha1 -hmac $apiKey -binary | openssl enc -base64` curl -i --url "https://api.cdnetworks.com/api/report/flow/protocol" \ -X "POST" \ -H "X-Time-Zone:GMT+08:00" \ -u "$username:$password" \ -H "Date: $date" \ -H "Accept: application/json" \ -d '{ "dateFrom":"2017-07-05T00:00:00+08:00", "dateTo":"2017-07-05T23:00:00+08:00", "domain":[ "test.com" ], "dataInterval":"5m", "protocolType":"https", "groupBy":[ "domain" ] }'
{ "result":[ { "domain":"test.com", "httpsFlowData":[ { "timestamp":"2017-07-05 00:00", "value":"0.00" }, { "timestamp":"2017-07-05 00:05", "value":"0.00" } ] } ] }