Azure文件存储:为应用程序服务创建共享

Azure文件存储:为应用程序服务创建共享,azure,azure-files,Azure,Azure Files,我用Tomcat创建了一个应用程序服务和一个需要存储文件的webapp,这些文件应该可以被另一个应用程序服务中的另一个webapp访问。应用程序只接受绝对文件路径 如果我将我的webapps放在一个VM中,我可以创建一个到我的azure文件存储的共享,但我想这对于应用程序服务是不可能的(我在控制台中执行net use…时被拒绝访问)。我尝试了:\mystorage.file.core.windows.net\myfiles,但写入失败。这样行吗?有没有一种方法可以将unc路径添加到我的两个应用程

我用Tomcat创建了一个应用程序服务和一个需要存储文件的webapp,这些文件应该可以被另一个应用程序服务中的另一个webapp访问。应用程序只接受绝对文件路径

如果我将我的webapps放在一个VM中,我可以创建一个到我的azure文件存储的共享,但我想这对于应用程序服务是不可能的(我在控制台中执行net use…时被拒绝访问)。我尝试了:\mystorage.file.core.windows.net\myfiles,但写入失败。这样行吗?有没有一种方法可以将unc路径添加到我的两个应用程序服务都可以访问的某个azure位置?或者我应该创建虚拟机来实现这一点吗?

您可以按照建议使用虚拟机进行文件共享,前提是您的web应用程序在同一个vnet上具有适当的访问权限,等等

但是,虚拟机虽然能够使用持久存储,但偶尔会出现停机(例如主机操作系统更新)

Azure有一个特定的功能正好适合这个用例:Azure文件存储,它位于blob存储之上,并提供SMB共享。Web应用可通过API/SDK访问文件存储卷(您无法将SMB卷装载到Web应用)


在Web应用程序(例如VM)之外,一旦安装了文件共享,您就可以使用标准I/O操作,就像使用本地磁盘一样

谢谢您的回答。我尝试配置此路径:\\mystorage.file.core.windows.net\myfiles,但无法写入数据。应用程序与文件存储在同一位置和资源组中。你知道可能有什么问题吗?请看David Ebbo在这里的评论:你目前无法使用Web应用安装SMB共享。@JacobFoshee-你是对的-当我最初发布此答案时,这只是一时的精神错乱(正如我发布的其他答案与你和David所说的完全相同)。现在编辑。“你可以使用虚拟机”,这将如何工作?应用程序服务阻止SMB端口:。有没有一种非SMB的方法可以做到这一点?@Ojen-我的回答特别指出,要使用Azure文件服务,您必须依赖SDK,因为您不能安装SMB。至于通过VM访问文件,您需要以某种方式将文件提供给应用程序服务(但是,正如您所指出的,不是通过SMB)。并且文件服务SDK是特定于Azure的;它不是通用的SMB SDK。我的回答更侧重于与虚拟机共享文件(我试图在回答的底部澄清这一点)。