在Azure中,我应该在哪里存储需要工作角色访问的物理文件?

在Azure中,我应该在哪里存储需要工作角色访问的物理文件?,azure,azure-storage,azure-worker-roles,azure-web-roles,Azure,Azure Storage,Azure Worker Roles,Azure Web Roles,在Azure中,我应该在哪里存储需要工作角色访问的物理文件 在我的情况下,我通常会将这些特定文件存储在我的Web角色的App_Data文件夹中,但我不相信工作人员角色可以访问该文件夹 如果您将文件放在Windows Azure存储中(Blob适用于文件存储),则您的任何角色实例都可以访问它们,无论是Web角色还是工作者角色。此外,Blob存储是持久的,这意味着在数据中心内进行三重复制(并在地理位置上复制到另一个数据中心) 关于工作人员角色实例无法访问Web角色实例(或其他工作人员角色的实例)中的

在Azure中,我应该在哪里存储需要工作角色访问的物理文件


在我的情况下,我通常会将这些特定文件存储在我的Web角色的App_Data文件夹中,但我不相信工作人员角色可以访问该文件夹

如果您将文件放在Windows Azure存储中(Blob适用于文件存储),则您的任何角色实例都可以访问它们,无论是Web角色还是工作者角色。此外,Blob存储是持久的,这意味着在数据中心内进行三重复制(并在地理位置上复制到另一个数据中心)

关于工作人员角色实例无法访问Web角色实例(或其他工作人员角色的实例)中的文件夹,您是对的。事实上,同一角色的多个实例无法访问彼此的文件系统(请记住,一个角色只是Windows 2012 Server,该角色的每个实例都在其自己的VM中运行,并具有自己的本地磁盘)


编辑2014年7月5日这个答案现在有点过时了。Azure现在提供文件服务,提供由blob存储支持的SMB共享。对于必须使用文件系统且不能更改为直接读取/写入blob的遗留应用程序,这往往更易于使用。可以找到更多信息。

由于实例上没有持久化数据,因此需要分布式存储,以便存储文件(和其他数据)。这可以通过使用Windows Azure Blob存储来实现(与在SQL Azure中存储文件相比,这是非常便宜的)。

如果您存储的数据是敏感的,请确保使用一些,而不是将Blob数据存储为任何人都可以查看的可公开访问的链接。您的最佳选择是使用SaS()安全地访问存储的Azure blob数据。如果数据不敏感-这不是必需的


请参阅Azure中的更多内容。

Azure存储是一个不错的选择。您还可以查看如何使用本地存储资源:

本地存储资源是运行角色实例的虚拟机文件系统中的保留目录。实例中运行的代码可以在需要写入或读取文件时写入本地存储资源。例如,本地存储资源可用于缓存在Windows Azure中运行服务时可能需要再次访问的数据


列出的链接不再有用。试试这个。