我试图结合Azure将大部分文件存储在应用程序中。我希望将这些文件上传到Azure的私有容器和私人Blob,并将这些上传通过Azure CDN复制到所有其他节点(仍作为私有容器和Blob)。然后,我希望我的应用程序向存储的blob发出请求,并在一段时间内向我提供blob的共享访问签名链接。但是,我希望生成的链接可以为用户提供最近的数据中心。每当需要blob时,我都会生成SAS,但我需要能够使用CDN上的SAS选项。使用Azure甚至可以这样做,还是我只能在一个数据中心中使用SAS?使用共享访问签名的Azure CDN
编辑 我希望我们的CDN充当如果我们的主数据中心的副本,所以我不想除非它们从主数据中心删除永远要删除的CDN对象。如果我创建了SAS并将其放在CDN URL的末尾,如果SAS上的截止日期已过,但不是缓存持续时间,用户是否能够返回并访问该文件?
继承人我的例子:
- 缓存持续时间:5天
- Azure存储网址:http://azstorage.blob.core.windows.net/images/img1.jpg
- CDN端点:http://az507923.vo.msecnd.net/
- Azure存储SAS参数:?ST = 2015-03-30T19 %3A21%3A09Z & se = 2015-04-01T20%3A21%3A09Z & sr = c & sp = r & sig = STTE1p0ujzZr31ZjPaOlNoImCPcjss2GoRsOWDlpJuI%3D
- 最终CDN网址:http://az507923.vo.msecnd.net/images/img1.jpg?st=2015-03-30T19%3A21%3A09Z&se=2015-04-01T20%3A21%3A09Z&sr=c&sp=r&sig=STTE1p0ujzZr31ZjPaOlNoImCPcjss2GoRsOWDlpJuI%3D
显然,用户可以访问该网址,直到2015年4月1日,但如果他们回来对2015年4月2日,将他们仍然有机会?
另外,假设我将blob的缓存控制标头设置为与SAS URL同时过期,这也是缓存持续时间之后。然后,我有一个用户在2015年4月8日回来找同一个blob,我们会生成一个新的SAS并将其提供给用户,blob是否仍在CDN上,或者缓存控制头是否将其从CDN中删除?
查看我原来的帖子了解更多信息/澄清。 – SchaF 2015-03-31 18:50:37