5

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

问题是:存储所有这些文件并在以后提供访问权限的最经济高效的方式是什么?我相信答案是: - 将文件存储在 Azure 存储帐户中,并拥有一个在 SQL Azure 数据库中引用它们的密钥。

我在这点上是对的吗?

Blob 存储是平面的吗?或者我可以在其中创建类似文件夹的东西来更好地组织我的文件吗?

4

2 回答 2

5

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

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

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

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

如果您将容器或 blob 保持为私有,则用户要么必须通过您的 Web 前端(或 Web 服务),要么您必须向他们提供附加了共享访问签名的特殊 URL,这是一个时间- 有限的网址。

于 2012-04-21T06:48:57.270 回答
1

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

http://blobshare.codeplex.com/

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

于 2012-04-26T17:15:38.913 回答