首页 > Windows开发 > 详细

阿里云cdnAPI调用

时间:2017-03-20 18:46:32      阅读:478      评论:0      收藏:0      [点我收藏+]
 1 #!/usr/bin/env python
 2 from aliyunsdkcore import client
 3 import json
 4 from aliyunsdkcdn.request.v20141111 import DescribeUserDomainsRequest   # 获取CDN域名列表类
 5 from aliyunsdkcdn.request.v20141111 import RefreshObjectCachesRequest   # 刷新CDN的类
 6 from aliyunsdkcdn.request.v20141111 import DescribeRefreshTasksRequest  # CDN刷新操作日志类
 7 from aliyunsdkcdn.request.v20141111 import DescribeRefreshQuotaRequest  # CDN剩余刷新次数的类
 8 
 9 
10 class Aliyun:
11     """
12     阿里云CDN刷新操作相关,3.5版本暂时不支持,官网声明支持2.7版本,2.6亲测可用,写成类没什么意义啊,wtf,算了,就酱吧
13     官网资料https://helpcdn.aliyun.com/document_detail/27200.html?spm=5176.doc27148.6.625.VnHkL4
14     但是这资料真特么没有什么卵用,艹
15     pip install aliyun-python-sdk-cdn   安装
16     pip install aliyun-python-sdk-cdn --upgrade     升级
17     pip uninstall aliyun-python-sdk-cdn     卸载
18     """
19     __instance = None
20 
21     def __init__(self, AccessKey=xxxxxxxxxxxxxxxxxxxx, AccessSecret=xxxxxxxxxxxxxxxxxxx):
22         """
23         https://helpcdn.aliyun.com/document_detail/27248.html?spm=5176.doc27247.6.727.6F2Khg
24         :param AccessKey: 阿里云服务器内部可生成,上面的网页有跳转链接
25         :param AccessSecret: 阿里云服务器内部可生成
26         """
27         self.AccessKey = AccessKey
28         self.AccessSecret = AccessSecret
29         self.Client = client.AcsClient(self.AccessKey, self.AccessSecret, cn-hangzhou)
30 
31     @staticmethod
32     def singleton():
33         if Aliyun.__instance:
34             return Aliyun.__instance
35         else:
36             Aliyun.__instance = Aliyun()
37             return Aliyun.__instance
38 
39     def refresh_cdn_url(self, url, Type):
40         """
41         刷新指定路径缓存,cdn是什么就不解释了....
42         :param url: 需要刷新的目标url,需要注意的是如果是域名则必须以‘/’结尾
43         :param Type: 域名为Directory,例如http://www.bfmq.com/
44                      单独文件为File,例如http://www.bfmq.com/a.txt
45         :return: 返回的信息真神奇,一点卵用都没用,说好的error code呢,亲?so,不返回了
46         """
47         self.request = RefreshObjectCachesRequest.RefreshObjectCachesRequest()
48         self.request.set_ObjectPath(url)
49         self.request.set_ObjectType(Type)
50         self.request.set_accept_format(json)
51         self.result = json.loads(self.Client.do_action(self.request))
52         print(self.result)
53 
54     def get_cdn_data(self):
55         """
56         获取本日可刷新剩余次数,默认每日文件2000次,目录100次,应该跟会员等级有关系....
57         :return: UrlRemain  今日url刷新数剩余
58                  DirRemain  今日dir刷新数剩余
59                  UrlQuota   今日url刷新数总量
60                  DirQuota   今日dir刷新数总量
61         """
62         self.request = DescribeRefreshQuotaRequest.DescribeRefreshQuotaRequest()
63         self.request.set_accept_format(json)
64         self.result = json.loads(self.Client.do_action(self.request))
65         print(self.result)
66 
67     def get_cdn_log(self, page=1, page_size=20):
68             """
69             获取七天内CDN刷新操作日志
70             :param page: 取得第几页 取值范围为:1-100000
71             :param page_size: 分页大小,默认20,最大50
72             :return: 返回的是UTC时间哦
73             """
74             self.request = DescribeRefreshTasksRequest.DescribeRefreshTasksRequest()
75             self.request.set_accept_format(json)
76             self.request.set_PageNumber(page)
77             self.request.set_PageSize(page_size)
78             self.result = json.loads(self.Client.do_action(self.request)).get("Tasks").get("CDNTask")
79             print(self.result)
80 
81     def get_cdn_url(self, page=1, page_size=20):
82             """
83             获取本云用户下域名列表
84             :param page: 取得第几页 取值范围为:1-100000
85             :param page_size: 分页大小,默认20,最大50
86             :return:
87             """
88             self.request = DescribeUserDomainsRequest.DescribeUserDomainsRequest()
89             self.request.set_PageNumber(page)
90             self.request.set_PageSize(page_size)
91             self.request.set_accept_format(json)
92             self.result = json.loads(self.Client.do_action(self.request)).get("Domains").get("PageData")
93             print(self.result) 

 

阿里云cdnAPI调用

原文:http://www.cnblogs.com/bfmq/p/6590932.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!