Amazon CloudFront - 通过正则表达式使文件无效,例如 *.png

Ami*_*mit 5 invalidation amazon-cloudfront

有没有办法让 Amazon CloudFront 失效(通过管理控制台),使所有匹配模式的文件失效?例如图像/*.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 文件也是一种痛苦 --> 也要尽量避免它。

谢谢,-阿米特

Rya*_*man 2

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

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