亚马逊云前缀 - 通过正则表达式使文件无效,例如*.png

5
有没有一种方法可以让Amazon CloudFront使所有与模式匹配的文件失效(通过管理控制台)?例如:images/*.png
上下文: 1. 我已经在我的网站上为图像设置了缓存控制,但是在Apache的缓存指令中错误地忘记了PNG扩展名。因此,用户计算机上缓存了.gif/.jpg文件,但.PNG文件没有。 2. 所以我修复了Apache指令,现在我的Apache服务器使用适当的缓存控制指令提供PNG文件。我测试了这个。 3. 但是Cloudfront过去曾获取这些png文件,所以通过CloudFront访问这些png文件仍然会带来没有缓存控制的png文件。最终结果 - 对于那些PNG文件仍然没有用户缓存。 4. 我尝试在Amazon CloudFront控制台中将无效设置为images/*.png。控制台显示完成,但是我仍然没有获得PNG文件中的缓存控制指令。--> 让我相信无效并未发生。 5. 我可以将无效设置为完整的图像目录; 但是我有太多的图像文件 -->我要付> $ 100。因此尽量避免这种情况。 6. 更改图像版本以便Cloudfront获取新版本是我的代码中痛苦的练习; 对于500个PNG文件来说,这将是一种痛苦。--> 尝试避免它。 7. 列出单个PNG文件也很麻烦 -->也试图避免它。
谢谢, -Amit
1个回答

2
如果您的CloudFront分配是配置在S3存储桶之前的,则可以列出S3存储桶中的所有对象,使用正则表达式模式(例如/*.png/i)进行筛选,然后使用该列表构建无效请求。
这就是我所做的。希望这能帮助您! :)

1
你确定这个吗?文档说,通配符只能在路径末尾使用。 - diegoaguilar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接