2015-12-29 84 views
2

我知道,Azure blob存儲不使用實際的文件夾結構,但無法想到更好的方式來描述這一點。爲什麼我的Azure blob存儲容器中存在重複的文件夾?

我們所看到的問題是,打開服務器資源管理器(在Visual Studio)時通過我們的Blob存儲容器進行瀏覽。我們將客戶資源和數據按文件夾分開,因此在這種情況下,我們有一個標題爲productdata/Client_5/testimage.jpg的Blob。

的問題是,這個文件夾Client_5檢查我們的Blob存儲時出現了兩次。到目前爲止,我已經仔細檢查過兩個文件夾中沒有奇怪的特殊字符,並且雙重檢查了大小寫。除實際內容外,兩條路徑完全相同。我們的應用程序對此沒有任何問題,因爲路徑與其嘗試獲取的資源完全相同。 (例如,由於文件夾命名完全相同,因此https://myazureaccount.blob.core.windows.net/productdata/Client_5/image.jpg仍然會將我們帶到我們需要的位置。)當我們使用服務器資源管理器在Azure上查看我們的Blob時,這很痛苦,因爲我們有兩個文件夾位置需要檢查。這很可能是Visual Studio的服務器資源管理器中的一個錯誤。

如果任何人曾經碰到過這樣的,任何信息表示讚賞。在網上搜索時,我找不到任何關於這個主題的內容,但是我想在這裏發佈這個問題以供參考。另外,我會很快與Azure支持聯繫,看看他們是否可以對這些問題進行闡述,並且會在稍後發佈我們從他們那裏獲得的信息。

+1

您是否也在其他存儲瀏覽器中看到類似行爲?可能是服務器瀏覽器的一個bug。 –

+0

好點..嘗試加載時,Azure存儲資源管理器崩潰,但是我會查看是否可以找到另一種方式查看服務器資源管理器以外的內容。 – Ant

+1

從Cerebrata嘗試Azure Explorer - http://www.cerebrata.com/products/azure-explorer/introduction。 –

回答

3

這是真的,Blob存儲沒有文件夾的概念,而是建立在它頂部的API。我在其他工具中看到完全相同或相似的問題:Microsoft Azure存儲資源管理器甚至Azure門戶。我試圖深入,當我執行時:

CloudBlobContainer.ListBlobs(null, useFlatBlobListing: false) 

它也返回重複的目錄。確切地說,它返回了具有相同PrefixCloudBlobDirectory的幾個實例的列表。聽起來像一個錯誤。現在,如果一個工具使用這種方法來獲取目錄列表,它將會失敗。如果該工具使用扁平列表並在其邏輯中構建文件夾結構,則應該可以。

很難說有什麼是這種行爲的原因。在我的情況下,blob存儲中的文件被具有併發選項的Azure Data Factory活動複製,但我不確定這是否是規則。

BTW微軟Azure存儲資源管理器在我的情況下,只顯示文件夾的某個子集比,所以我切換到Azure的瀏覽器上面提到的,它是值得推薦的顯示重複目錄更糟。

+0

雖然這不再是一個問題,但您的答案爲此提供了很多見解。標記爲接受的答案:) – Ant

0

Azure的Blob存儲不ahve文件夾的概念,只有容器,可以模擬文件夾設置博客的名稱保存,如「文件夾/ img.png」,但文件夾/是部分blob的名字。

另外,我曾經使用存儲資源管理器,嘗試這樣的:http://azurestorageexplorer.codeplex.com/releases/view/125870

+0

'Azure blob存儲不符合文件夾概念......這是在問題 –

+0

中說的第一行是的,我知道blob存儲不使用文件夾。我們正在模擬文件夾。我只是想不出一個更好的方式來提出問題。無論如何,Azure存儲瀏覽器能夠加載我們較小的容器,但在試圖查看我們更大的容器時會崩潰。 – Ant

相關問題