0

我有Azure應用服務和Azure存儲帳戶。我知道應用服務後面有一個server/vm,但我沒有明確啓動一臺機器。我可以將驅動器號映射到Azure應用服務(而非VM)的Azure存儲文件共享中嗎?

我想從一個訪問數據庫導入數據,這個數據庫會定期上傳到我的存儲帳戶的文件共享中。我想使用Azure WebJob在後臺完成這項工作。

我試圖使用DAO讀取數據:

string path = @"\\server\share\folder\datbase.mdb"; 
DBEngine dbe = new DBEngine(); 
Database db = dbe.OpenDatabase(path); 
DAO.Recordset rs = db.OpenRecordset("select * from ..."); 

,當我在本地運行這個工作,但是當我嘗試在我的網站的工作運行它在我的存儲賬戶訪問文件共享,它沒有找到該文件。我認爲這是因爲DBEngine不知道Azure和Azure帳戶名稱和安全密鑰,不會發送它們,Azure存儲也不會響應。

所以我想嘗試的是看我是否可以將Azure存儲文件共享映射到服務器的底層應用服務。我嘗試過許多不同的事情,但每次都收到「訪問被拒絕」的變體。我曾嘗試:

  • 運行NET USE T:\ name.file.core.windows.net \ azurefileshare /U:從App服務控制檯中在Azure門戶
  • 名鍵運行 淨使用從我webjob內

我webjob

  • 調用WNetAddConnection2 內的過程看起來像服務器緊鎖定。有沒有人對我如何能夠將文件共享映射到底層服務器有任何想法?

    非常感謝

  • 回答

    0

    據我所知,在sandbox Azure的web應用程序運行。我們無法將Azure文件共享映射到Azure Web應用程序。因此,如果您選擇Azure Web應用程序,Azure文件存儲是一個很好的選擇。根據我的經驗,以下解決方法適用於您。希望這可以給你一些提示。

    1)使用Azure文件存儲,但選擇Azure虛擬機或雲服務作爲主機服務。

    2)仍然選擇Azure Web應用作爲主機服務,但在解決方案中包含訪問數據庫並上傳到Azure Web應用程序。

    3)改爲選擇SQL Azure作爲數據庫。這裏是the article,它可以幫助我們將訪問數據庫遷移到SQL Azure

    +0

    嗨加布爾,感謝您的建議。1)是一種選擇,我只是想看看是否有避免除了我的應用程序服務具有VM的方式。再次感謝。 – Beau

    0

    最後,正如Jambor正確地說的那樣,App Service虛擬機已被鎖定。

    但是,事實證明,App Service VM附帶了一些本地臨時存儲,以便使用VM上運行的各種組件。

    這是在D:\ local \ Temp \並且可以通過web作業寫入。

    有趣的是,這是來自D:\ local的不同共享/驅動器上的邏輯文件夾,此附加存儲的大小取決於App Service的規模。

    相關問題