最新消息:网站迁移至香港,数据恢复中。

python获取阿里云CDN带宽

Linux ipcpu 122浏览

python获取阿里云CDN带宽.md

目前阿里云CDN有了独立的SDK,因此既可以使用云监控接口,也可以使用CDN接口。

一、阿里云CMS监控接口

  1. from aliyunsdkcore import client
  2. from aliyunsdkcms.request.v20170301 import QueryMetricListRequest
  3. import time
  4. clt = client.AcsClient('ACCESS_KEY','SECRET_KEY','cn-beijing')
  5. request = QueryMetricListRequest.QueryMetricListRequest()
  6. request.set_accept_format('json')
  7. request.set_Project('acs_cdn')
  8. request.set_Metric('BPS')
  9. start_time = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()-3600))
  10. #start_time = "2016-10-25 10:00:00"
  11. timestamp_start = int(time.mktime(time.strptime(start_time, "%Y-%m-%d %H:%M:%S"))) * 1000
  12. request.set_StartTime(timestamp_start)
  13. request.set_Dimensions("{'instanceId':'js.lenovo.com.cn'}")
  14. request.set_Period('300')
  15. #result = clt.do_action(request)
  16. result = clt.do_action_with_exception(request)
  17. print result

二、阿里云CDN接口

  1. #!/usr/bin/env python
  2. #coding=utf-8
  3. import sys
  4. import time
  5. import json
  6. from aliyunsdkcore import client
  7. from aliyunsdkcdn.request.v20141111 import DescribeCdnMonitorDataRequest
  8. clt = client.AcsClient('ACCESS_KEY','SECRET_KEY','cn-beijing')
  9. request = DescribeCdnMonitorDataRequest.DescribeCdnMonitorDataRequest()
  10. request.set_accept_format('json')
  11. # 注意时间格式,精确到分钟,UTC时间
  12. start_time = time.strftime('%Y-%m-%dT%H:%M:00Z',time.gmtime(time.time()-3600))
  13. end_time = time.strftime('%Y-%m-%dT%H:%M:00Z',time.gmtime(time.time()))
  14. #domain = sys.argv[1]
  15. domain = 'js.lenovo.com.cn'
  16. #时间段不设置,默认取最近24小时数据
  17. request.set_StartTime(start_time)
  18. request.set_EndTime(end_time)
  19. request.set_DomainName(domain)
  20. # 发起请求
  21. response = clt.do_action_with_exception(request)
  22. #print(response)
  23. # json处理,打印
  24. datadict=json.loads(response)
  25. print datadict['MonitorDatas']['CDNMonitorData'][-1]['BytesPerSecond']

三、坑坑坑

时间戳,能戳死个人
有的是YYYY-MM-DD’T’HH:mmZ,如2011-05-30T03:29Z
有的是YYYY-MM-DD’T’HH:mm:SSZ,如2011-05-30T03:29:00Z
文档上写的不一定对,自己尝试才知道

四、参考资料

https://api.aliyun.com/?spm=a2c1g.8271268.10000.2.sKRmRW

转载请注明:IPCPU--网络之路 » python获取阿里云CDN带宽