如何判断CloudFront是否在缓存中存储了对象?

时间:2015-01-08 21:17:37

标签: caching amazon-web-services amazon-cloudfront

我正在尝试动态清除CloudFront的某些对象的缓存。我有失效设置和工作,但由于我只获得1000个免费失效请求,我想通过检查对象是否被CloudFront缓存来避免不必要的请求。有没有办法通过API执行此操作?

1 个答案:

答案 0 :(得分:2)

没有API调用来检查CloudFront缓存的内容。 (实际上,不止一次缓存,因为对象可以缓存在50多个CloudFront边缘位置中的任何一个。)

另一种方法是修改您的网络应用,通过缓存清除来提供引用该对象较新版本的内容。例如,将?version=1附加到网址。然后,要忽略该缓存对象并访问新缓存对象,请使用?version=2。这将迫使CloudFront再次检索该对象。 (虽然它没有使旧版本无效,但该版本只会在一段时间后超时。缓存中的存储数据是免费的。)

使用该方法,您甚至不必使对象无效。但是,它将涉及您的Web应用程序中的代码更改。