Azure Blob存储与文件服务

请纠正我的错误。 从我对这个主题的阅读到目前为止,在我看来,Azure Blob存储和文件服务都提供了存储文件和文件夹的能力(我明白blob可以存储任何二进制对象,但是任何序列化二进制stream只是在一天结束时的一个文件)在一个模仿文件系统的分层结构。

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

如果您希望应用程序存储应用程序用户拥有的一些文件,为什么要select另一个呢?

几个项目为您的问题:

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

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

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

请注意, Azure文件服务不支持一些SMB协议function。

其他一些事情要考虑:

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

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

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

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