2016-04-22 148 views
1

我們有一個由Azure Web角色,工作者角色和桌面/移動應用程序組成的多租戶系統。每個客戶端應用都允許上傳映射到特定於租戶的Azure Blob存儲帳戶的映像。在Azure工作者角色中讀取/寫入瞬態文件

Azure工作者角色輪詢這些文件並對其進行處理。我們使用第三方SDK進行處理,需要文件系統路徑或流。直接從blob存儲提供流是微不足道的,但SDK也期望吐出我們的應用程序消耗的物理元數據文件。

這是一個問題,因爲SDK是黑盒子,並沒有提供替代方案。有沒有辦法在臨時文件的工作角色中擁有本地存儲。此存儲只需要每個工作人員角色迭代幾秒鐘,並且如果該角色被回收或關閉,則可能會被回收/丟棄。另外,這些文件相當大(500MB +),所以不需要blob延遲。

四處搜索揭示了一些駭人的變通辦法,其中最好的辦法似乎是封裝blob存儲以讓我們的角色以文件系統的身份訪問它。

有沒有辦法簡單地訪問類似於Web角色App_Data文件夾的文件系統?

回答

3

您可以從Azure的Worker角色中使用RoleEnvironment.GetLocalResource()得到一個名爲句柄本地文件存儲:

RoleEnvironment.GetLocalResource()

這將避免的具體文件路徑硬編碼可能會隨時間而改變等

祝你好運!

+0

謝謝。我會試試這個並恢復。 –

相關問題