A-A+

运维开发:结合阿里云API实现CDN文件的刷新

2015年12月19日 bottle, Python, 自动化运维 评论 5 条 阅读 8,517 views 次

页面功能:

运维开发:刷新阿里云CDN

运维开发:刷新阿里云CDN

 

相关的后端代码:

  1. #!/usr/bin/evn python
  2. #coding=utf-8
  3. __author__ = '戴儒锋'
  4. import json
  5. from bottle import get,post
  6. from bottle import template
  7. from controller.core import reMsg,checkArgs
  8. #导入阿里云API和阿里云KEY、SECRET
  9. import aliyun.api
  10. from conf import setting
  11. ali_key = setting.ali_key
  12. ali_secret = setting.ali_secret
  13. aliyun.setDefaultAppInfo(ali_key,ali_secret)
  14. @get('/cdn/')
  15. def callback():
  16.     return template('cdn')
  17. @post('/get_domains/')
  18. def callback():
  19.     #获取域名列表
  20.     a = aliyun.api.Cdn20141111DescribeUserDomainsRequest()
  21.     f = a.getResponse()
  22.     data = f.get('Domains').get('PageData')
  23.     return json.dumps(data)
  24. @post('/refresh_cdn/')
  25. def callback():
  26.     """刷新CDN"""
  27.     url_path = checkArgs('url_path',"文件URL路径")
  28.     s_type = checkArgs('s_type',"文件类型")
  29.     msg_list = []
  30.     for url in url_path.split():
  31.         a = aliyun.api.Cdn20141111RefreshObjectCachesRequest()
  32.         a.ObjectPath = url
  33.         a.ObjectType = s_type
  34.         try:
  35.             f = a.getResponse()
  36.             msg_list.append(f)
  37.         except Exception,e:
  38.             msg_list.append({"url":url,"status":"faild"})
  39.     print msg_list
  40.     return reMsg(0,"刷新完成,稍等会即生效")
  41. @post('/refresh_history_cdn/')
  42. def callback():
  43.     """选择文件刷新CDN"""
  44.     url_path = checkArgs('url_path',"文件URL路径")
  45.     a = aliyun.api.Cdn20141111RefreshObjectCachesRequest()
  46.     a.ObjectPath = url_path
  47.     a.ObjectType = "File"
  48.     try:
  49.         f = a.getResponse()
  50.         print f
  51.     except Exception,e:
  52.         print e
  53.     return reMsg(0,"刷新完成,稍等会即生效")

 

关键词:

5 条留言  访客:4 条  博主:1 条

  1. avatar sss

    撒旦撒旦

    • avatar 跨境卖家导航

      好厉害–看看——~~

  2. avatar ping

    我的是直接用rsync 捕获close_write 事件,然后用python调用阿里云cdn的purge接口 :smile:

    • avatar 江江

      嗯,分享下

    • avatar 小娃

      分享一下哇

给我留言

Copyright © linux系统运维 保留所有权利.   Theme  Ality 粤ICP备13023035号-1

用户登录

分享到: