2017-03-15 14 views
0

远程存储我试图访问文件的远程存储/目录,在Django的应用。我的网络服务器是Apache,虚拟机和存储都由Windows Azure托管。路径在Django/Apache应用程序

我想从Python中做到这一点既与封装的C++代码,例如在Python中创建一个空文件。

open("\\\\samples.file.core.windows.net\\share\\file.ext","a").close() 

(参见此链接的路径:https://docs.microsoft.com/fr-fr/azure/storage/storage-python-how-to-use-file-storage)。

当使用Apache下这条道路时,出现IO错误:

invalid mode ('a') or filename: '\\\\\\\\digitalstructurestorage.file.core.windows.net/ 

添加http和https前缀简化版,帮助,当不逃避斜线,它写在文件C:驱动虚拟机。

open("\\samples.file.core.windows.net\\share\\file.ext","a").close() 

然而,RDP连接到我的虚拟机时,我可以成功启动一个Python脚本时写入文件。我相信在Apache/MOD_Wsgi配置中需要添加一些内容来纠正这种行为,但是我找不到有关它的文档。

我还精确的,我已经提供路径作为输入到第三方librairies的一些功能,这就是为什么我想避免的Windows Azure API或更高级别的API来管理输入/输出。

提前THX的协助。

回答

0

根据你的描述,根据我的理解,我想你想使用Azure的文件存储在您的Azure的虚拟机就像使用本地文件系统。所以首先你需要在虚拟机操作系统上安装一个Azure文件存储共享目录,请参考WindowsLinux的官方教程。然后,您可以在Python中执行这些文件操作,通常就像本地没有Azure存储SDK一样。

如果你只是想使用Azure存储来存储文件,这似乎是不使用Azure的文件存储一个不错的选择。我建议为您的Django应用程序使用Azure Blob存储,并且您只能遵循第三方插件django-storage介绍Azure为您的应用程序配置它。

希望它有帮助。

+0

Thx为您的答案。我遵循教程,没有任何成功。我同时解决了我的问题:问题在于APACHE服务器没有“意识到”安装的共享,因为它与用户系统一起运行。我不得不用psexec和用户SYSTEM运行powershell来解决它。 https://technet.microsoft.com/fr-fr/sysinternals/bb897553.aspx – user3790252

+0

@ user3790252太棒了!感谢您分享您的解决方案。 –