强制内容更新到cloudfront,而不使用invalidate

GG.*_*GG. 3 caching cdn amazon-web-services amazon-cloudfront

我使用云前端作为 CDN。有没有办法强制更新内容?我的原始服务器上有一个文件,我已使用新版本更新了该文件(相同名称,新日期时间戳)。但是当我在cloudfront中检查它时,它仍然是旧文件。

我已经看到这个线程建议一种无效方法,但我不想这样做,因为我认为这是一种开销,并且一次最多可以运行 3 个无效请求。我读到cloudfront支持使用查询参数的动态内容,我可以以某种方式利用它来强制cloudfront从分发服务器中提取最新内容吗?

Yud*_* Li 5

第一个是正如您提到的显式调用 invalidate()。它们确实有 3 个失效请求限制,但每个请求最多可以包含 1000 个对象,这在大多数情况下已经足够了。根据医生的说法,通常需要 10 - 15 分钟,但我对此的经验相当波动(在某些情况下可能需要长达 30 分钟)。

动态参数的另一种方法绝对可行,并且是首选方法。您需要在链接末尾附加一个时间戳参数。就像是:

http://www.example.com/img/logo.png?timestamp=123456789

更新 logo.png 后,将时间戳更改为新时间戳:

http://www.example.com/img/logo.png?timestamp=223456789

CloudFront 将能够区分这两者并选择正确的一个。

所以是的,我相信你的分析是正确的。