我们正在开发使用云中文件的不同客户端应用。必须使用安全授权访问权限将文件安全地存储在云中。此外,多个客户端应用程序必须能够同时通过临时URL读取这些文件。 我们尝试将其实现到Azure中,但我们遇到了以下问题: - 当您将Blob存储在私有容器中并生成共享访问密钥时,只有一个用户可以在特定时间读取该文件。系统的工作方式如下:客户端应用程序要求Web服务器为该blob生成公共URL并将其返回以供使用。问题是,如果一秒钟另一个客户端应用程序要求服务生成相同blob的公共URL。在那一刻,第一个变得无法使用。 - 我们公开了容器,但我们无法保留blob的永久URL
那么,我们如何为存储在私有容器中的相同blob生成多个临时访问URL(共享密钥或类似)? 将URL从Windows Azure传输到Windows Azure的最佳做法是什么,而没有其他人捕获它并重新使用它,即使是20分钟的临时性?任何解决方案都可以用于未来的CDN集成吗?
感谢您的帮助。 谢谢!
答案 0 :(得分:0)
您可以为blob生成多个共享访问签名,并且可以同时使用它们。听起来每次生成新的共享访问签名时,您可能无意中撤销了旧的存储访问策略。通过保留(并可能重新使用)旧的存储访问策略来解决问题。有关更多信息和示例代码,请参阅以下链接:
http://msdn.microsoft.com/en-us/library/windowsazure/jj721951.aspx
http://msdn.microsoft.com/en-us/library/windowsazure/ee393341.aspx
要保护共享访问签名,您应该通过加密通道将其从服务器发送到客户端。为此使用SSL或类似物。
我不相信CDN解决方案会帮助您满足您的要求。