Amazon CloudFront - 通过正则表达式对文件进行Inavalidating,例如* .PNG

时间:2012-08-23 06:42:18

标签: amazon-cloudfront invalidation

是否有办法让Amazon CloudFront失效(通过管理控制台),使与模式匹配的所有文件无效?例如图像/ *。PNG

上下文 -

  1. 我在我的网站上为图像设置了缓存控制,但错误地遗漏了Apache上缓存指令中的png扩展名。因此.gif / .jpg文件缓存在用户计算机上,但.png文件没有缓存。
  2. 所以我修复了apache指令,现在我的apache服务器提供了带有相应缓存控制指令的png文件。我测试了这个。
  3. 但是,云端在过去已经获取了那些png文件,因此通过cloudfront访问那些png文件仍会带来那些没有缓存控制的png文件。最终结果 - 仍然没有用户缓存这些png文件
  4. 我尝试将Amazon CloudFront控制台中的失效设置为images / * .png。控制台说已完成,但我仍然没有在png文件中获取缓存控制指令。 - >让我相信失效没有发生。
  5. 我可以为完整的图像目录设置失效;但后来我有太多的图像文件 - >我会收费> 100美元。所以试图避免这种情况。
  6. 更改图像版本以便cloudfront获取新版本是我的代码中的一个痛苦的练习;这样说500 png文件会很痛苦。 - >试图避免它。
  7. 列出个别png文件也很痛苦 - >试图避免它。
  8. 谢谢, -Amit

1 个答案:

答案 0 :(得分:2)

如果您的CloudFront分配在S3存储桶前配置,您可以列出S3存储桶中的所有对象,使用正则表达式模式(例如/*.png/i)对其进行过滤,然后使用该列表构建你的无效宣告请求。

无论如何,这就是我所做的。我希望这有帮助! :)