几个第三方清CloudFront缓存工具

除了web console上的清缓存的页面,我们也可以给非AWS管理员使用一些第三方的清缓存的工具
• CloudBuddy Personal – http://m1.mycloudbuddy.com/index.html
• CloudBerry Explorer – http://cloudberrylab.com
• Ylastic – http://ylastic.com
• Cyberduck – http://cyberduck.ch
• Bucket Explorer – http://www.bucketexplorer.com
• CloudFront Invalidator – http://www.swook.net/p/cloudfront-invalidator.html
• CDN Planet CloudFront Purge Tool – http://www.cdnplanet.com/tools/cloudfront-purge-tool/
CloudBerry用过S3资源管理上传下载非常方便,也可以用来管理CF资源,但是免费版,清缓存,只能一次一个,不能针对目录
Ylastic是自己开发了个AWS资源管理和真是的网站,收费的,没体验过
Cyberduck大黄鸭是个客户端的工具,跟CloudBerry类似,但是不如CB好用,也是一次清一个,不能清目录
CloudFront Invalidator是个第三方版的web版的清缓存的工具,在线使用,跟web console一样,一行一个对象,可以写多行
CDN Planet CloudFront Purge Tool做成了chrome扩展,可以清多个CDN的,也是一个对象一行
Bucket Explorer是个收费的客户端工具,也是一个对象一行,写目录也不报错,不知有无效果

或者自己写个脚本批量清缓存也行,每次请求只能最多1000个对象,再多就需要用多个请求来处理,python示例如下

import boto

distribution_id = 'xxxxxxxxxxxx'
paths = ['/path/7eleven.png', '/path/alipay.png', '/path/Braintree.png']

c = boto.connect_cloudfront()
inval_req = c.create_invalidation_request(distribution_id, paths)
print inval_req.paths
invals = c.get_invalidation_requests(distribution_id)
for inval in invals:
    print 'Object: %s, ID: %s, Status: %s' % (inval, inval.id, inval.status)

或者把对象写在文件中,一行一个,用python load进paths这个list中处理:

import sys,os

input_fle = os.sys.path[0] + os.sep + 'purge-object.txt'
f = open(input_fle,'r')
paths = []
for line in f:
    line = line.strip()
    paths.append(line)
print paths