【问题标题】:Azure Blob Storage vs. File Service [closed]Azure Blob 存储与文件服务 [关闭]
【发布时间】:2014-09-12 20:43:21
【问题描述】:

请纠正我的错误。从我目前对该主题的阅读来看,在我看来,Azure Blob 存储和文件服务都提供了存储文件和文件夹的能力(我知道 blob 可以存储任何二进制对象,但任何序列化二进制流最终只是一个文件)在模仿文件系统的层次结构中。

只有访问它们的 API 略有不同,因为文件服务除了使用 REST API 之外,还允许您使用类似 Win32 文件 I/O 的函数来查询源。

如果您希望您的应用程序存储您的应用程序用户拥有的一些文件,为什么要选择一个而不是另一个?

【问题讨论】:

  • 您是否阅读过 Azure 存储团队的这篇博文:blogs.msdn.com/b/windowsazurestorage/archive/2014/05/12/…?请向下滚动到说明何时使用哪种服务的部分。
  • 是的,我在发布之前阅读了那篇文章。我正处于思考问题的早期阶段,我的理解还没有很好地形成。我仍然很困惑。我了解我读过的所有文章中所写的所有内容,但如果我想为我正在设计的应用程序存储用户拥有的文件,我正在努力找出最好的使用方法。
  • 我想这归结为你想对这些用户文件做什么?它们会以某种方式流回(通过网络浏览器等)还是会被进一步处理?如果是前者,那么 Blob 存储是有意义的。如果是后者,那么文件服务是有意义的。
  • 事情是:我想让用户上传和下载他自己的文件,并与他的联系人组中的其他人分享其中的一些文件(他们只能下载/阅读)。我可以使用带有 Blob 存储的共享访问签名 (SAS) 来做到这一点,但这并不能满足我的“共享”要求。我倾向于一种解决方案,在该解决方案中,我的应用程序/服务进行了所有身份验证,并且没有向用户公开实际的存储资源。在这种情况下,对我来说,文件服务和 Blob 存储都做同样的事情。没有人比其他人更能安慰我。

标签: azure azure-storage azure-blob-storage


【解决方案1】:

你的问题的几个项目:

  1. 您不能将 Azure Blob 存储作为本机共享装载到虚拟机上。
  2. Azure Blob 存储不是容器之外的分层结构。您可以添加其中包含 / 或 \ 字符的文件,这些字符被许多读取 blob 存储的应用程序解释为文件夹。
  3. Azure 文件服务为 Azure Blob 存储提供 SMB 协议接口,解决了 (1) 的问题。

如果您正在开发新的应用程序,则将本机 Azure API 直接用于 Blob 存储。

如果要移植需要共享文件的现有应用程序,请使用 Azure 文件服务。

请注意,Azure File Service doesn't support 有一些 SMB 协议功能。

【讨论】:

  • 非常感谢,西蒙。关于你的回复的一些事情。看,归根结底,我想要一个最终结果。从这个角度来看,我发布了这个问题。从最终结果的角度来看,您列表中的论点 #1 和 #3 是不相关的。我根本不是在和你争论。 :-) 您的回答非常有帮助。我只是想告诉你导致我提出这个问题的思考过程。论点 #2 不是问题,因为它提出了一个问题并说这不是问题。假设我想存储用户拥有的文件,我在想,为什么我更喜欢一个而不是另一个?
  • 查看编号列表后的两点 - 这应该是您的指南。
  • @SimonW - 您的指南后面的两点被称为“做这件事的方法”。然而,它们并不是绝对的。在这种情况下,它们更像是建议。在某些情况下,您不想直接使用 Azure API,即使是使用新应用程序也是如此。同样,在某些情况下,您可能希望修改现有应用以使用 Azure API。
  • 它们之间的IOPS性能有区别吗?
  • @SimonW - 你能详细说明上面的第 3 点吗?这是将 Blob 挂载为 SBM 文件共享还是以某种方式将其作为“磁盘”访问的一种方式?
【解决方案2】:

需要考虑的其他一些事项:

  • 定价:Blob 存储比文件存储便宜得多。
  • 可移植性:如果您决定将来迁移到差异平台,则使用 blob 存储可能需要更改应用程序代码,但使用文件存储,您可以将应用程序迁移到支持 SMB 的任何其他平台(假设您使用的是本机文件应用中的系统 API)

【讨论】:

  • 这里的价格是一个很大的因素(目前大约相差 5 倍),另外值得一提的是文件存储的 5TB 限制。
  • 旧帖,但我今天第一次阅读。默认情况下,标准价格层有 5TB 的限制,但可以通过切换到 100TB 的限制来更改。注意* 在帐户上启用大文件共享是 Azure 存储帐户上的一个不可逆转的过程。 docs.microsoft.com/azure/storage/files/…
【解决方案3】:

Azure 文件服务更多地针对内部文件处理。内部是指将目录安装到云中或本地的虚拟机上,以便可以将其加载到后端(基于 SMB 的协议)。

对于与最终用户(网络或应用程序)共享文件,使用 blob 存储可能更有意义,因为这简化了通过 URL 下载并通过共享访问签名保护下载。

这篇文章分享了更多关于比较的细节(在底部):https://blogs.msdn.microsoft.com/windowsazurestorage/2014/05/12/introducing-microsoft-azure-file-service/

【讨论】:

猜你喜欢
  • 2016-09-24
  • 2021-08-14
  • 1970-01-01
  • 2021-07-09
  • 2022-01-18
  • 2018-09-25
  • 2018-07-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多