2017-03-15 53 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太棒了!感謝您分享您的解決方案。 –