我有一个问题。我需要通过签名网址从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
答案 0 :(得分:0)
找一个可供您参考的解决方案。
事实证明,这与CDN的功能有关。如您所知,CDN在边缘服务器上缓存内容,在第一次请求到CDN端点之后,内容将被缓存,除非其TTL过期,否则不会更新。
所以你可能在边缘服务器中缓存了名为111-111-111-11
的文件,加上默认的query string cache behavior
是ignore query strings
,这意味着如果内容{{1},它会忽略url中的查询字符串已被缓存。
您可以将111-111-111-11
设置更改为query string cache behavior
或Cache every unique URL
。
您可以在CDN端点面板中找到设置。您可以关注Azure document。
或者如果您使用的是Premium级CDN配置文件,则设置与Bypass caching for query strings
类似。如果您还有其他问题,请随时询问。