阿里云CDNapi

 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) 

 

转载于:https://www.cnblogs.com/bfmq/p/6590932.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值