簡體   English   中英

.NET Azure Blob 存儲:獲取不列出所有 Blob 的根級目錄

[英].NET Azure Blob Storage: Get Root-Level Directories w/o Listing All Blobs

我有一個 Azure 雲 blob 存儲帳戶,我需要枚舉其內容。 該帳戶有大量數據,使用 ListBlobs 枚舉其所有內容需要很長時間才能完成。

對於雲容器和目錄,我希望能夠僅枚舉根級項目。 對於容器,我假設這將枚舉根級 blob:

cloudBlobContainer.ListBlobs(
            String.Empty,
            false,
            BlobListingDetails.None,
            null,
            null))

有沒有什么合理的方法可以在不列出所有 blob 的情況下獲取根級目錄? 我能想到的唯一方法是荒謬的:使用 blob 前綴可能是的所有可能組合調用 ListBlob。

Zachary,不幸的是,Azure Blob 存儲中沒有“目錄”這樣的東西。 對象層次結構如下:

  • 存儲賬戶(管理平面)
    • 存儲容器 [0..n](數據平面)
      • Blob [0..n](數據平面)

當您在 blob 名稱中看到額外的正斜杠時,它只是一個“虛擬”目錄,而不是一個單獨的目錄實體。

https://azure.microsoft.com/en-us/documentation/articles/storage-dotnet-how-to-use-blobs/

您可以通過使用.ListBlobs().OfType<your_chosen_blob_type>()調用來獲得更精細的目錄內容列表。 例如,一種 blob 類型是CloudBlobDirectory 請參閱此答案: https : //stackoverflow.com/a/14440507/9654964

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM