内容处置不适用于azure中的SAS + CDN

时间:2018-04-18 21:54:15

标签: azure sas azure-cdn

我有一个问题。我需要通过签名网址从azure blob存储CDN下载文件,并且加载的文件必须具有自定义名称。我发现我可以使用“相应的SAS查询参数”来完成它。问题是,只有当我使用签名网址(sas)直接将blob容器用于实例

时,它才有效
[editlink ...]

在这种情况下,下载的文件名称为 tsv.jpg

但如果我生成sas并将其用于CDN

,则不会发生
https://test.blob.core.windows.net/data/images/111-111-111-11?sig=<sig>&se=2018-04-18T22%3A32%3A27Z&sv=2017-07-29&rscd=attachment%3Bfilename%3Dtsv.jpg&sp=rwdl&sr=b

但在这种情况下,下载的文件名称为 111-111-111-11

1 个答案:

答案 0 :(得分:0)

找一个可供您参考的解决方案。

事实证明,这与CDN的功能有关。如您所知,CDN在边缘服务器上缓存内容,在第一次请求到CDN端点之后,内容将被缓存,除非其TTL过期,否则不会更新。

所以你可能在边缘服务器中缓存了名为111-111-111-11的文件,加上默认的query string cache behaviorignore query strings,这意味着如果内容{{1},它会忽略url中的查询字符串已被缓存。

您可以将111-111-111-11设置更改为query string cache behaviorCache every unique URL

您可以在CDN端点面板中找到设置。您可以关注Azure documententer image description here

或者如果您使用的是Premium级CDN配置文件,则设置与Bypass caching for query strings类似。如果您还有其他问题,请随时询问。