【问题标题】:Azure storage and CDN and getting blobAzure 存储和 CDN 以及获取 blob
【发布时间】:2014-11-19 20:12:55
【问题描述】:

我在 Azure 存储的 CDN 中进行缓存时遇到问题。我已经设置了存储,在上面添加了 CDN,并放置了自定义域。

一切正常,直到最近,当我上传一张图片时,卡在 CDN 上。当我在没有 CDN 的情况下使用它时一切正常,但在 CDN 上它总是显示旧图像。我尝试了一切,我设置了自定义缓存过期,我删除了它,我移动了它......但没有任何效果。我等了一天,也许会被 Auzura 自动修复,或者一些缓存会过期,但什么都没有。

以前有没有人遇到过类似的问题?如何解决?

同一容器中的所有其他图像(blob)都可以正常工作。

【问题讨论】:

    标签: caching azure blob cdn


    【解决方案1】:

    在规划 CDN 使用时,您必须非常小心。启用 CDN 后,您必须完全控制将通过 CDB 提供的所有和任何 Blob 文件。

    这是通过在 Put BlobPut Block ListSet Blob Properties 请求上明确设置 x-ms-blob-cache-control 属性,或使用 Azure 托管库设置 BlobProperties.CacheControl 属性。

    如果您忘记设置此属性before 文件已被 CDN 访问,CDN 假定 7 天作为 TTL(该文件的生存时间)。设置的任何后续更改(blob 的缓存控制属性)将在 7 天 TTL 过去后生效。我相信你不小心输入了这个默认的 7 天 TTL(希望它不是最糟糕的 - 错误地设置了更长的缓存过期标头)

    您可以在best practices for controlling CDN content here 上阅读更多信息。我热忱地请您在this feature request 投出您的 3 票。

    【讨论】:

    • 您的倒数第二个链接将我重定向到一个通用且不太有用的页面。您有更新的页面要链接到吗?
    • 所有链接现在都应该没问题了。
    • 感谢您的快速更新。不幸的是,似乎没有办法在容器级别设置缓存控制,是吗?更改缓存需要设置每个 blob 的属性?
    • 这是真的。仅在 blob 上。因此,在开始保存 blob 时必须格外小心(以避免重新要求更新所有 blob)。而且,您还能做的就是为功能请求投 3 票 - 我的答案中的最后一个链接;)
    猜你喜欢
    • 2016-09-12
    • 1970-01-01
    • 2011-09-24
    • 2014-09-29
    • 2017-04-05
    • 2018-05-07
    • 1970-01-01
    • 2015-11-04
    • 1970-01-01
    相关资源
    最近更新 更多