5
5
6
6
from qiniu .compat import is_py2
7
7
from qiniu .compat import is_py3
8
+ from enum import Enum
8
9
9
10
import hashlib
10
11
12
+ class DataType (Enum ):
13
+ BANDWIDTH = 'bandwidth'
14
+ X302BANDWIDTH = '302bandwidth'
15
+ X302MBANDWIDTH = '302mbandwidth'
16
+ FLOW = 'flow'
17
+ X302FLOW = '302flow'
18
+ X302MFLOW = '302mflow'
11
19
12
20
def urlencode (str ):
13
21
if is_py2 :
@@ -60,7 +68,7 @@ def refresh_urls_and_dirs(self, urls, dirs):
60
68
Returns:
61
69
一个dict变量和一个ResponseInfo对象
62
70
参考代码 examples/cdn_manager.py
63
- """
71
+ """
64
72
req = {}
65
73
if urls is not None and len (urls ) > 0 :
66
74
req .update ({"urls" : urls })
@@ -89,7 +97,7 @@ def prefetch_urls(self, urls):
89
97
url = '{0}/v2/tune/prefetch' .format (self .server )
90
98
return self .__post (url , body )
91
99
92
- def get_bandwidth_data (self , domains , start_date , end_date , granularity ):
100
+ def get_bandwidth_data (self , domains , start_date , end_date , granularity , data_type = None ):
93
101
"""
94
102
查询带宽数据,文档 https://developer.qiniu.com/fusion/api/traffic-bandwidth
95
103
@@ -98,6 +106,7 @@ def get_bandwidth_data(self, domains, start_date, end_date, granularity):
98
106
start_date: 起始日期
99
107
end_date: 结束日期
100
108
granularity: 数据间隔
109
+ data_type: 计量数据类型, see class DataType.XXXBANDWIDTH
101
110
102
111
Returns:
103
112
一个dict变量和一个ResponseInfo对象
@@ -108,12 +117,14 @@ def get_bandwidth_data(self, domains, start_date, end_date, granularity):
108
117
req .update ({"startDate" : start_date })
109
118
req .update ({"endDate" : end_date })
110
119
req .update ({"granularity" : granularity })
120
+ if data_type is not None :
121
+ req .update ({'type' : data_type .value }) # should be one of 'bandwidth', '302bandwidth', '302mbandwidth'
111
122
112
123
body = json .dumps (req )
113
124
url = '{0}/v2/tune/bandwidth' .format (self .server )
114
125
return self .__post (url , body )
115
126
116
- def get_flux_data (self , domains , start_date , end_date , granularity ):
127
+ def get_flux_data (self , domains , start_date , end_date , granularity , data_type = None ):
117
128
"""
118
129
查询流量数据,文档 https://developer.qiniu.com/fusion/api/traffic-bandwidth
119
130
@@ -122,6 +133,7 @@ def get_flux_data(self, domains, start_date, end_date, granularity):
122
133
start_date: 起始日期
123
134
end_date: 结束日期
124
135
granularity: 数据间隔
136
+ data_type: 计量数据类型, see class DataType.XXXFLOW
125
137
126
138
Returns:
127
139
一个dict变量和一个ResponseInfo对象
@@ -132,6 +144,8 @@ def get_flux_data(self, domains, start_date, end_date, granularity):
132
144
req .update ({"startDate" : start_date })
133
145
req .update ({"endDate" : end_date })
134
146
req .update ({"granularity" : granularity })
147
+ if data_type is not None :
148
+ req .update ({'type' : data_type .value }) # should be one of 'flow', '302flow', '302mflow'
135
149
136
150
body = json .dumps (req )
137
151
url = '{0}/v2/tune/flux' .format (self .server )
0 commit comments