使用Windows Azure作为文件存储系统的最佳策略是什么 - 具有http下载功能

时间:2012-04-21 05:21:42

标签: azure azure-sql-database azure-storage azure-storage-blobs

我需要存储用户上传的多个文件,然后为这些用户提供通过http访问其文件的功能。有两个关键考虑因素: - 存储(这是我最关心的问题) - 安全(现在让我们暂时搁置)

问题是: 存储所有这些文件并在以后提供访问权限的最具成本效益和最高性能的方法是什么?我相信答案是: - 将文件存储在Azure存储帐户中,并具有在SQL Azure数据库中引用它们的密钥。

我对此是对的吗?

blob存储是否持平?或者我可以在其中创建类似文件夹的内容以更好地整理文件吗?

2 个答案:

答案 0 :(得分:5)

使用SQL Azure存储blob元数据的想法是一种非常常见的情况,它允许您利用SQL进行搜索,并使用Blob进行存储。

Blob按容器组织。所以你有类似的东西:

http://mystorage.blob.core.windows.net/mycontainer/myfile.doc

您也可以使用分隔符模拟层次结构,但实际上只有容器加blob。

如果您将容器或blob保密,则用户必须通过您的Web前端(或Web服务),或者您必须为其提供附加了共享访问签名的特殊URL,是一个有时间限制的网址。

答案 1 :(得分:1)

我建议你看一下BlobShare Sample,这是一个简单的文件共享应用程序,它演示了Windows Azure平台的存储服务,以及访问控制服务(ACS)的身份验证和授权功能。完整的示例代码位于以下链接:

http://blobshare.codeplex.com/

您可以立即使用此示例代码,只需添加对Windows Azure帐户凭据的适当引用即可。此示例的最佳之处在于您可以直接通过访问控制服务提供blob访问。您还可以修改代码以添加SAS支持以及从公共容器中下载blob。一旦你有了它并且理解了这个概念,你就可以调整它,使其达到你想要的方式。