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

阿里云CDNapi的更多相关文章

  1. [linux]阿里云主机的免登陆安全SSH配置与思考

    公司服务器使用的第三方云端服务,即阿里云,而本地需要经常去登录到服务器做相应的配置工作,鉴于此,每次登录都要使用密码是比较烦躁的,本着极速思想,我们需要配置我们的免登陆. 一 理论概述 SSH介绍 S ...

  2. 阿里云直播 C# SDK 如何使用

    阿里云直播SDK的坑 1.直播云没有单独的SDK,直播部分被封装在CDN的相关SDK当中. 2.针对SDK,没有相关Demo. 3.针对SDK,没有相关的文档说明. 4.针对SDK的说明,官网上的说明 ...

  3. 8.仿阿里云虚拟云服务器的FTP(包括FTP文件夹大小限制)

    平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html#iis 原文:http://dnt.dkill.net/Ar ...

  4. 阿里云服务器上配置并使用: PHP + Redis + Mysql 从配置到使用

    (原创出处为本博客,http://www.cnblogs.com/linguanh/) 目录: 一,下载 二,解压 三,配置与启动 四,测试 Redis 五,配置 phpRedis 扩展 六,综合测试 ...

  5. 阿里云学生优惠Windows Server 2012 R2安装IIS,ftp等组件,绑定服务器域名,域名解析到服务器,域名备案,以及安装期间错误的解决方案

     前言: 这几天终于还是按耐不住买了一个月阿里云的学生优惠.只要是学生,在学信网上注册过,并且支付宝实名认证,就可以用9块9的价格买阿里云的云服务ECS.确实是相当的优惠. 我买的是Windows S ...

  6. 【初码干货】使用阿里云对Web开发中的资源文件进行CDN加速的深入研究和实践

    提示:阅读本文需提前了解的相关知识 1.阿里云(https://www.aliyun.com) 2.阿里云CDN(https://www.aliyun.com/product/cdn) 3.阿里云OS ...

  7. FineReport如何用JDBC连接阿里云ADS数据库

    在使用FineReport连接阿里云的ADS(AnalyticDB)数据库,很多时候在测试连接时就失败了.此时,该如何连接ADS数据库呢? 我们只需要手动将连接ads数据库需要使用到的jar放置到%F ...

  8. [故障公告]受阿里云部分ECS服务器故障影响,目前无法上传图片与文件

    抱歉!今天下午阿里云华东1可用区B的部分ECS服务器出现IO HANG问题,受此影响,我们的图片与文件上传服务器无法访问,由此给您带来麻烦,请您谅解. 16:30左右开始,我们发现图片与文件上传服务器 ...

  9. 分享阿里云推荐码 IC1L2A,购买服务器可以直接打9折,另附阿里云服务器部署ASP.NET MVC5关键教程

    阿里云推荐码为:IC1L2A 阿里云还是不错滴. 以windows server 2008 R2为例,介绍如何从全新的服务器部署MVC5 站点. 新购买的阿里云服务器是没有IIS的,要安装IIS: 控 ...

随机推荐

  1. Hazelcast与MongoDB集成

    Hazelcast与MongoDB集成 作者:chszs,未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs 一.Hazelcast与Mong ...

  2. 怎样高效利用GitHub(非常多资料可供下载)

    正是Github.让社会化编程成为现实.本文尝试谈谈GitHub的文化.技巧与影响. Q1:GitHub是什么 Q2:GitHub风格 Q3: 在GitHub.怎样跟牛人学习 Q4: 享受纯粹的写作与 ...

  3. Leetcode_num2_Maximum Depth of Binary Tree

    题目: Given a binary tree, find its maximum depth. The maximum depth is the number of nodes along the ...

  4. CUGBACM_Summer_Tranning1 二进制枚举+模拟+离散化

    整体感觉:这个组队赛收获还挺多的.自从期末考试以后已经有一个多月没有 做过组队赛了吧,可是这暑假第一次组队赛就找回了曾经的感觉.还挺不错的!继续努力!! 改进的地方:这次组队赛開始的时候题目比較难读懂 ...

  5. Lombok简介

    Lombok简介 和其他语言相比,Java经常因为不必要的冗长被批评.Lombok提供了一系列注解用以在后台生成模板代码,将其从你的类中删除,从而有助于保持你的代码整洁.较少的模板意味着更简洁的代码, ...

  6. linux下安装jdk(转载)

    http://blog.csdn.net/hzqnju/article/details/6779556 http://blog.csdn.net/gxy3509394/article/details/ ...

  7. MVC入门——删除页

    添加Action DeleteUserInfo using System; using System.Collections.Generic; using System.Linq; using Sys ...

  8. 如何获取ipa 包的图片

    突然想起当初刚学习iOS的时候,就经常通过抓包和提取素材的方式来模仿App,今天就教大家如何一步步提取App的素材! 大家是否有过想要获取别人的素材的想法?看到某些App的资源很不错,很想导出来用用, ...

  9. 用live555将内网摄像机视频推送到外网服务器,附源码

    最近很多人问,如何将内网的摄像机流媒体数据发布到公网,如果用公网与局域网间的端口映射方式太过麻烦,一个摄像机要做一组映射,而且不是每一个局域网都是有固定ip地址,即使外网主机配置好了每一个摄像机的映射 ...

  10. python的self

    python类定义里面的self就是指的该类的对象本身.