Ste*_*wen 8 azure network-shares azure-virtual-machine
我对在Azure中负载均衡2个以上的Windows VM感兴趣.不过,我的主要要求是每个VM之间的'uploads'文件夹需要保持一致.此文件夹中的文件由我们的管理员用户FTP,然后他们需要在C#MVC Web应用程序中选择这些文件.由于您可以通过FTP连接到一个VM,但Web连接可能是另一个,因此上传必须集中.
看起来好像目前处于预览状态的新Azure文件会有所帮助,因为它们让我设置了每个虚拟机都可以访问的共享驱动器.我的想法是FileZilla Server允许FTP到达这个共享的"驱动器",Web应用程序将访问它以显示内容.
我已经注册了Azure文件预览,并设置了共享,为了实验,将其持久映射到Drive Z. 我还创建了一个新用户,并确保他们也有与Z相同的驱动器的持久映射.
但我似乎无法在远程桌面之外做任何事情.FileZilla尽管已将其服务设置为使用此新帐户登录,但不会显示此驱动器的内容,也不会向其写入任何内容.同样,尽管将Passthrough Authentication切换到虚拟文件夹的新帐户,但我的Web App无法访问文件内容.
有没有人知道通过网络路径或驱动器号访问此驱动器的方式?这是不可能的Azure文件,因为它们是?是否有任何其他解决方案可以跨虚拟机共享一些blob,但将其视为本地驱动器或网络共享?
[UPDATE]
这可能有所帮助.设置共享,并在cmd提示符下使用cmdkey和net use运行特殊创建的用户(如http://blogs.msdn.com/b/windowsazurestorage/archive/2014/05/27/persisting-中所述 - connections-to-microsoft-azure-files.aspx),如果我将IIS中的虚拟文件夹指向此共享,使用创建的特定帐户和测试连接,我得到:测试:身份验证(绿色勾选;"指定的用户凭据是有效的")测试:授权(红叉;"路径不存在或路径中的环境变量无法扩展以验证它是否存在.")
虽然仍然在runas cmd提示符下,但我可以访问共享,因此它不是特定的权限问题.由于某种原因,似乎IIS无法使用该用户访问共享.Azure文件的限制是我无法专门授予该共享中文件夹的任何类型的权限.
对我有用的是:
Load User Profile属性设置为true/persistent:true如您所述,执行cmdkey和net use(使用开关)点5的一个小PowerShell片段:
$share = "your-storage-account.file.core.windows.net\yoursharename" $usr = "your-storage-account" $key = "your-storage-key" #store credentials for the network share - must be done for the user that will run the app pool cmdkey /add:subclub.file.core.windows.net\images /user:$usr /pass:$key net use z: "\\$share" /user:$usr $key /persistent:yes
这里的答案证明很有帮助.
runas/user:{appuser} cmd.exe
cmdkey /add:{storage-account}.file.core.windows.net/user:{storage-account}/pass:{account-key}
注意不需要净使用.不需要映射的驱动器.
现在这是关键部分.从您的应用程序,您必须写入UNC路径.
\ {存储帐户} .file.core.windows.net \
恩.
File.WriteAllText("\\\\{storage-account}.file.core.windows.net\\share\test.txt", "contents goes here");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2811 次 |
| 最近记录: |