Skip to content

Commit d43f253

Browse files
author
金山云SDK
authored
Merge pull request KscSDK#34 from KSC-VBU-CDN-DEV/master
open-api接入接口
2 parents ee12e6a + dc6f682 commit d43f253

File tree

4 files changed

+600
-25
lines changed

4 files changed

+600
-25
lines changed

examples/.kscore.cfg

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[Credentials]
2-
ks_access_key_id =
3-
ks_secret_access_key =
2+
ks_access_key_id = AKTPr-ZiuofGTtqq2zsLI0eTKQ
3+
ks_secret_access_key = OApkXZjwEFtrTTAiJh1thYNnCgbXycP3Nk3B2akZO8zmLd8jIOX7IFrpoizCBiMrbw==

examples/cdn.py

Lines changed: 192 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -63,13 +63,13 @@
6363
Parameters:
6464
DomainId String 域名ID
6565
ConfigList String 需要查询的配置,多个配置用逗号(半角)分隔,不填代表查询所有
66-
当前支持 cache_expired、cc、error_page、http_header、optimize、page_compress、
66+
当前支持 cache_expired、ip、error_page、http_header、optimize、page_compress、
6767
ignore_query_string、range、referer、req_auth、src_host、video_seek、waf,notify_url,
6868
redirect_type
6969
7070
Returns:
7171
'''
72-
#res = client.get_domain_configs(DomainId='2D09NSH',ConfigList='cache_expired,ignore_query_string,src_host,referer,test_url,src_advanced')
72+
# res = client.get_domain_configs(DomainId='2D09NSH',ConfigList='cache_expired,ignore_query_string,src_host,referer,test_url,src_advanced')
7373

7474

7575
'''
@@ -140,8 +140,18 @@
140140
AllowEmpty String 是否允许空refer访问,取值:on:允许;off:不允许;默认值:on。注:仅当选择白名单时,此项才生效
141141
'''
142142
#client.set_refer_protection_config(DomainId='2D09NSH', Enable='on', ReferType='block', ReferList='www.baidu.com,www.sina.com')
143-
144-
143+
144+
'''
145+
SetIpProtectionConfig 设置加速域名的Ip防盗链 加速域名创建后,默认不开启Ip防盗链功能
146+
147+
Parameters:
148+
DomainId String 域名ID
149+
Enable String 配置是否开启或关闭 取值:on、off,默认值为off关闭。开启时,下述必须项为必填项;关闭时,只更改此标识,忽略后面的项目。
150+
IpType String refer类型,取值:block:黑名单;allow:白名单,开启后必填
151+
IpList String 逗号隔开的Ip列表
152+
'''
153+
# client.set_ip_protection_config(DomainId='2D09NN8', Enable='on', IpType='allow', IpList='1.1.1.1')
154+
145155
'''
146156
SetCacheRuleConfig 设置缓存规则。加速域名创建后,默认缓存规则为空
147157
更新加速域名的缓存规则为覆盖更新,需要对全部的规则进行修改,不能仅提交需要修改的部分
@@ -968,9 +978,182 @@
968978
Granularity Long 统计粒度,取值为 5(默认):5分钟粒度;10:10分钟粒度;20:20分钟粒度;60:1小时粒度;240:4小时粒度;480:8小时粒度;1440:1天粒度
969979
ResultType Long 取值为0:多域名数据做合并;1:每个域名的数据分别返回
970980
'''
971-
res = client.get_src_http_code_detailed_data(DomainIds='2D09SXW',StartTime='2017-02-08T10:00+0800',EndTime='2017-02-08T10:20+0800',CdnType='download',Granularity=5,ResultType=1)
972-
973-
974-
975-
981+
#res = client.get_src_http_code_detailed_data(DomainIds='2D09SXW',StartTime='2017-02-08T10:00+0800',EndTime='2017-02-08T10:20+0800',CdnType='download',Granularity=5,ResultType=1)
976982

983+
'''
984+
GetBandwidthDataByDir
985+
本接口用于获取某段时间内按一级目录为维度下消耗的带宽,单位bit\/second
986+
支持按指定的起止时间查询,两者需要同时指定
987+
仅支持下载域名查询
988+
仅支持单个域名查询
989+
支持批量目录过滤查询,多个目录用逗号(半角)分隔
990+
支持统计域名下一级目录所产生的带宽,即请求URL中域名后的第一个“\/”和第二个“\/”之间的内容
991+
当取不到一级目录时,即请求URL中域名后有且仅有一个“\/”时,将统计这部分请求URL产生的带宽并进行求和,以“\/”表示;
992+
最多可获取最近62天内24小时跨度的数据 统计粒度:5分钟粒度;10分钟粒度;20分钟粒度;1小时粒度;4小时粒度;8小时粒度;1天粒度;以上粒度的带宽值均取该粒度时间段的峰值
993+
时效性:5分钟延迟
994+
接口性能:接口最大吞吐量为10000,即Region个数*Dir个数*(EndTime-StartTime)\/统计粒度 <= 10000。注:在获取多个目录多个区域合并值时,Dir个数和Region个数按照1计算
995+
使用场景:
996+
客户查询一个域名下单个或多个目录的带宽数据汇总,以单独查看或对比同一域名下不同目录的带宽曲线
997+
需配置白名单后方可调用此接口
998+
请求参数:
999+
Parameters:
1000+
DomainId String 输入需要查询的域名ID,只允许输入一个
1001+
StartTime String 获取数据起始时间点,日期格式按ISO8601表示法,北京时间,格式为:YYYY-MM-DDThh:mm+0800,例如:2016-08-01T21:14+0800
1002+
EndTime String 结束时间需大于起始时间;获取日期格式按照ISO8601表示法,北京时间,格式为:YYYY-MM-DDThh:mm+0800,例如: 2016-08-01T21:14+0800
1003+
Granularity Long 统计粒度,取值为 5(默认):5分钟粒度;10:10分钟粒度;20:20分钟粒度;60:1小时粒度;240:4小时粒度;480:8小时粒度;1440:1天粒度
1004+
ResultType Long 取值为0:多域名数据做合并;1:每个域名的数据分别返回
1005+
Regions String 区域名称, 取值为CN:中国大陆,HK:香港,TW:台湾,AS:亚洲其他,NA:北美洲,SA:南美洲,EU:欧洲,AU:大洋洲,AF:非洲,支持多区域查询,多个区域用逗号(半角)分隔,缺省为 CN
1006+
Dirs String 目录名称,支持统计域名下一级目录,即请求URL中域名后的第一个“\/”和第二个“\/”之间的内容;支持批量查询,多个目录用逗号(半角)分隔,缺省为该域名下所有一级目录及“\/”;若输入\/,则查询该域名下所有无一级目录的URL带宽合并值
1007+
'''
1008+
#res = client.get_bandwidth_data_by_dir(DomainId='2D09NMS',StartTime='2017-02-23T10:00+0800',EndTime='2017-02-23T10:21+0800',Dirs='',Granularity=5,ResultType=1,Regions='')
1009+
'''
1010+
GetFlowDataByDir
1011+
本接口用于获取某段时间内按一级目录为维度下消耗的流量,单位byte
1012+
支持按指定的起止时间查询,两者需要同时指定
1013+
仅支持下载域名查询
1014+
仅支持单个域名查询
1015+
支持批量目录过滤查询,多个目录用逗号(半角)分隔
1016+
支持统计域名下一级目录所产生的带宽,即请求URL中域名后的第一个“\/”和第二个“\/”之间的内容
1017+
当取不到一级目录时,即请求URL中域名后有且仅有一个“\/”时,将统计这部分请求URL产生的带宽并进行求和,以“\/”表示;
1018+
最多可获取最近62天内24小时跨度的数据 统计粒度:5分钟粒度;10分钟粒度;20分钟粒度;1小时粒度;4小时粒度;8小时粒度;1天粒度;以上粒度的带宽值均取该粒度时间段的峰值
1019+
时效性:5分钟延迟
1020+
接口性能:接口最大吞吐量为10000,即Region个数*Dir个数*(EndTime-StartTime)\/统计粒度 <= 10000。注:在获取多个目录多个区域合并值时,Dir个数和Region个数按照1计算
1021+
使用场景:
1022+
客户查询一个域名下单个或多个目录的带宽数据汇总,以单独查看或对比同一域名下不同目录的带宽曲线
1023+
需配置白名单后方可调用此接口
1024+
请求参数:
1025+
Parameters:
1026+
DomainId String 输入需要查询的域名ID,只允许输入一个
1027+
StartTime String 获取数据起始时间点,日期格式按ISO8601表示法,北京时间,格式为:YYYY-MM-DDThh:mm+0800,例如:2016-08-01T21:14+0800
1028+
EndTime String 结束时间需大于起始时间;获取日期格式按照ISO8601表示法,北京时间,格式为:YYYY-MM-DDThh:mm+0800,例如: 2016-08-01T21:14+0800
1029+
Granularity Long 统计粒度,取值为 5(默认):5分钟粒度;10:10分钟粒度;20:20分钟粒度;60:1小时粒度;240:4小时粒度;480:8小时粒度;1440:1天粒度
1030+
ResultType Long 取值为0:多域名数据做合并;1:每个域名的数据分别返回
1031+
Regions String 区域名称, 取值为CN:中国大陆,HK:香港,TW:台湾,AS:亚洲其他,NA:北美洲,SA:南美洲,EU:欧洲,AU:大洋洲,AF:非洲,支持多区域查询,多个区域用逗号(半角)分隔,缺省为 CN
1032+
Dirs String 目录名称,支持统计域名下一级目录,即请求URL中域名后的第一个“\/”和第二个“\/”之间的内容;支持批量查询,多个目录用逗号(半角)分隔,缺省为该域名下所有一级目录及“\/”;若输入\/,则查询该域名下所有无一级目录的URL带宽合并值
1033+
'''
1034+
#res = client.get_flow_data_by_dir(DomainId='2D09NMS',StartTime='2017-02-23T10:00+0800',EndTime='2017-02-23T10:21+0800',Dirs='',Granularity=5,ResultType=0,Regions='')
1035+
1036+
1037+
1038+
'''
1039+
GetPlayTimeDataByStream
1040+
本接口用于获取直播流维度的平均观看时长数据,单位:毫秒(ms)
1041+
支持按指定的起止时间查询,两者需要同时指定
1042+
支持批量流名查询,多个流名用逗号(半角)分割;多流名合并的方法为“将各流名的总播放时长,除以各流名的总访问次数”
1043+
最大查询范围:最多可获取最近62天内,7天跨度的数据;
1044+
统计粒度:5分钟粒度;10分钟粒度;20分钟粒度;1小时粒度;4小时粒度;8小时粒度;1天粒度;以上粒度的观看时长为该时段的播放时长总和,除以该时段的总访问次数
1045+
时效性:5分钟延迟
1046+
接口性能:接口最大吞吐量为10000,即Region个数*StreamUrl个数*(EndTime-StartTime)/统计粒度 <= 10000。注:在获取多个流名多个区域合并值时,Region个数和StreamUrl个数按照1计算
1047+
使用场景:
1048+
1)客户查询单个流名或多个流名,在一段时间内的合并后的平均观看时长,用于绘制一条曲线;
1049+
2)客户查询单个流名或多个流名,在一段时间内的详细数据,用于画出多条曲线,表征每个流名的详细情况
1050+
说明:只支持RTMP/HDL协议;
1051+
1052+
请求参数:
1053+
Parameters:
1054+
StreamUrls String 流名,支持批量查询,多个流名用逗号(半角)分隔
1055+
StartTime String 获取数据起始时间点,日期格式按ISO8601表示法,北京时间,格式为:YYYY-MM-DDThh:mm+0800,例如:2016-08-01T21:14+0800
1056+
EndTime String 结束时间需大于起始时间;获取日期格式按照ISO8601表示法,北京时间,格式为:YYYY-MM-DDThh:mm+0800,例如: 2016-08-01T21:14+0800
1057+
Granularity integer 统计粒度,取值为 5(默认):5分钟粒度;10:10分钟粒度;20:20分钟粒度;60:1小时粒度;240:4小时粒度;480:8小时粒度;1440:1天粒度
1058+
ResultType integer 取值为0:多域名数据做合并;1:每个域名的数据分别返回
1059+
Regions String 区域名称, 取值为CN:中国大陆,HK:香港,TW:台湾,AS:亚洲其他,NA:北美洲,SA:南美洲,EU:欧洲,AU:大洋洲,AF:非洲,支持多区域查询,多个区域用逗号(半角)分隔,缺省为 CN
1060+
'''
1061+
# res = client.get_play_time_data_by_stream(StreamUrls='http://momo.hdllive.ks-cdn.com/live/m_defa5e0dd0d324101472363734966100.flv',StartTime='2017-02-23T10:00+0800',EndTime='2017-02-23T10:21+0800',Granularity=5,ResultType=1,Regions='')
1062+
# print res
1063+
1064+
'''
1065+
GetPlayTimeDataByDomain
1066+
本接口用于获取直播域名维度的观看时长数据,单位毫秒(ms)
1067+
支持批量域名查询,批量域名合并的方法为“将各域名下各流名的总播放时长,除以各域名下各流名的总访问次数”;
1068+
最大查询范围:最多可获取最近62天内,7天跨度的数据
1069+
统计粒度:5分钟;10分钟粒度;20分钟粒度;1小时粒度;4小时粒度;8小时粒度;1天粒度;以上粒度的观看时长为该时段的播放时长总和,除以该时段的总访问次数;
1070+
接口性能:接口最大吞吐量为10000,即Region个数*DomainId个数*(EndTime-StartTime)/统计粒度<= 10000。注:在获取多个域名多个区域合并值时,Region个数和DomainId个数按照1计算
1071+
时效性:5分钟延迟;
1072+
应用场景:
1073+
1)客户查询单个域名或多个域名下的流名,在一段时间内的合并后的观看时长,用于绘制一条曲线;
1074+
2)客户查询单个域名或多个域名下的流名,在一段时间内的详细数据,用于画出多条曲线,表征每个域名的详细情况
1075+
说明:只支持RTMP/HDL协议;
1076+
请求参数:
1077+
Parameters:
1078+
DomainIds String 客户域名,支持批量查询,多个域名id用逗号(半角)分隔
1079+
StartTime String 获取数据起始时间点,日期格式按ISO8601表示法,北京时间,格式为:YYYY-MM-DDThh:mm+0800,例如:2016-08-01T21:14+0800
1080+
EndTime String 结束时间需大于起始时间;获取日期格式按照ISO8601表示法,北京时间,格式为:YYYY-MM-DDThh:mm+0800,例如: 2016-08-01T21:14+0800
1081+
Granularity integer 统计粒度,取值为 5(默认):5分钟粒度;10:10分钟粒度;20:20分钟粒度;60:1小时粒度;240:4小时粒度;480:8小时粒度;1440:1天粒度
1082+
ResultType integer 取值为0:多域名数据做合并;1:每个域名的数据分别返回
1083+
Regions String 区域名称, 取值为CN:中国大陆,HK:香港,TW:台湾,AS:亚洲其他,NA:北美洲,SA:南美洲,EU:欧洲,AU:大洋洲,AF:非洲,支持多区域查询,多个区域用逗号(半角)分隔,缺省为 CN
1084+
'''
1085+
# res = client.get_play_time_data_by_domain(DomainIds='2D09QKA,2D09VS9',StartTime='2017-02-23T10:00+0800',EndTime='2017-02-23T10:20+0800',Granularity=20,ResultType=1,Regions='')
1086+
# print res
1087+
1088+
1089+
1090+
'''
1091+
GetBillingMode
1092+
获取用户当前的计费方式。
1093+
支持按产品类型查询
1094+
使用场景:
1095+
客户查询当前时刻用户维度下各产品类型的计费方式
1096+
请求参数:
1097+
Parameters:
1098+
CdnType String 产品类型,只允许输入一种类型,取值为download:下载类加速,;live:直播加速
1099+
'''
1100+
# res = client.get_billing_mode(CdnType='live')
1101+
# print res
1102+
1103+
1104+
1105+
'''
1106+
GetBillingData
1107+
获取域名的计费数据
1108+
支持按指定的起止时间查询,两者需要同时指定
1109+
支持批量域名查询,多个域名ID用逗号(半角)分隔
1110+
最多可获取最近一年内93天跨度的数据
1111+
使用场景:
1112+
客户查询域名计费数据,用于计费核算
1113+
客户根据不同计费方式,对比不同计费数据值,用于计费方式调整依据。
1114+
注意:
1115+
1、95带宽峰值计费计算方法:,在选定时间段内,取每5分钟有效带宽值进行降序排列,然后把带宽数值前5%的点去掉,剩下的最高带宽就是95带宽峰值即计费值
1116+
2、日峰值平均值带宽计算方法:在选定时间段内,取每一日的峰值带宽和,除以选择时间段的自然天数,得到一段时间内日峰值带宽的平均值即计费值
1117+
请求参数:
1118+
Parameters:
1119+
DomainIds String 域名ID,缺省为当前产品类型下的全部域名,可输入需要查询的域名ID,支持批量域名查询,多个域名ID用逗号(半角)分隔
1120+
StartTime String 获取数据起始时间点,日期格式按ISO8601表示法,北京时间,格式为:YYYY-MM-DDThh:mm+0800,例如:2016-08-01T21:14+0800
1121+
EndTime String 结束时间需大于起始时间;获取日期格式按照ISO8601表示法,北京时间,格式为:YYYY-MM-DDThh:mm+0800,例如: 2016-08-01T21:14+0800
1122+
CdnType String 产品类型,只允许输入一种类型,取值为download:下载类加速,;live:直播加速
1123+
Regions String 区域名称, 取值为CN:中国大陆,HK:香港,TW:台湾,AS:亚洲其他,NA:北美洲,SA:南美洲,EU:欧洲,AU:大洋洲,AF:非洲,支持多区域查询,多个区域用逗号(半角)分隔,缺省为 CN
1124+
BillingMode String 计费方式, 取值为 peakbw:峰值计费;peak95bw:95峰值计费;averagebw:日峰值平均值计费;monthflow:流量按月,只允许输入一种计费方式,缺省为 peakbw ;
1125+
'''
1126+
#res = client.get_billing_data(StartTime='2017-02-01T00:00+0800',EndTime='2017-02-28T23:56+0800',CdnType='download',BillingMode='monthflow',Regions='CN,AS,NA,AU')
1127+
#print res
1128+
1129+
'''
1130+
GetServiceIpData
1131+
获取域名当前的服务节点IP列表,用于分析域名服务节点运行状况,便于故障排查
1132+
仅支持单个域名查询,配置黑白名单后才可生效
1133+
使用场景:
1134+
客户获取域名当前的服务节点IP,用于故障排查
1135+
1136+
请求参数:
1137+
Parameters:
1138+
DomainId String 域名ID,输入需要查询的域名ID,仅支持单个域名ID
1139+
'''
1140+
# res = client.get_service_ip_data(DomainId='2D09NK5')
1141+
# print res
1142+
1143+
'''
1144+
GetPeakBandwidthData
1145+
获取域名带宽峰值,峰值时间点
1146+
1、峰值带宽计算方法:在选定时间段内,取每5分钟有效带宽值进行降序排列,最高带宽就是峰值带宽
1147+
2、realtime,峰值时间点,取每5分钟一个时间点,最高峰出现的时间点即为峰值时间
1148+
最多可获取最近一年内93天跨度的数据
1149+
1150+
请求参数:
1151+
Parameters:
1152+
DomainIds String 域名ID,缺省为当前产品类型下的全部域名,可输入需要查询的域名ID,支持批量域名查询,多个域名ID用逗号(半角)分隔
1153+
StartTime String 获取数据起始时间点,日期格式按ISO8601表示法,北京时间,格式为:YYYY-MM-DDThh:mm+0800,例如:2016-08-01T21:14+0800
1154+
EndTime String 结束时间需大于起始时间;获取日期格式按照ISO8601表示法,北京时间,格式为:YYYY-MM-DDThh:mm+0800,例如: 2016-08-01T21:14+0800
1155+
CdnType String 产品类型,只允许输入一种类型,取值为download:下载类加速,;live:直播加速
1156+
Regions String 区域名称, 取值为CN:中国大陆,HK:香港,TW:台湾,AS:亚洲其他,NA:北美洲,SA:南美洲,EU:欧洲,AU:大洋洲,AF:非洲,支持多区域查询,多个区域用逗号(半角)分隔,缺省为 CN
1157+
'''
1158+
res = client.get_peak_bandwidth_data(StartTime='2017-02-01T00:00+0800',EndTime='2017-02-28T23:56+0800',CdnType='download',Regions='CN,AS,NA,AU')
1159+
print res

kscore/__init__.pyc

2.47 KB
Binary file not shown.

0 commit comments

Comments
 (0)