回答
Windows Azure沒有提供容器的概念,但它確實提供了一種通過約定和API來遍歷層次結構的機制。所有容器都存儲在同一個級別。您可以通過爲您的blob名稱使用命名約定來獲得simliar功能。
例如,您可以創建一個名爲「內容」的容器中,並創建斑點,在該容器中的名稱如下:
content/blue/images/logo.jpg
content/blue/images/icon-start.jpg
content/blue/images/icon-stop.jpg
content/red/images/logo.jpg
content/red/images/icon-start.jpg
content/red/images/icon-stop.jpg
注意,這些斑點是對你的「內容」容器的平面列表。也就是說,使用「/」作爲常規分隔符,爲您提供了以分層方式遍歷它們的功能。
protected IEnumerable<IListBlobItem>
GetDirectoryList(string directoryName, string subDirectoryName)
{
CloudStorageAccount account =
CloudStorageAccount.FromConfigurationSetting("DataConnectionString");
CloudBlobClient client =
account.CreateCloudBlobClient();
CloudBlobDirectory directory =
client.GetBlobDirectoryReference(directoryName);
CloudBlobDirectory subDirectory =
directory.GetSubdirectory(subDirectoryName);
return subDirectory.ListBlobs();
}
然後,您可以調用這個如下:
GetDirectoryList("content/blue", "images")
注意使用GetBlobDirectoryReference和GetSubDirectory方法和CloudBlobDirectory類型,而不是CloudBlobContainer。這些提供了您可能要查找的遍歷功能。
這應該有助於您開始使用。讓我知道這不回答你的問題:
[感謝Neil Mackenzie靈感]
您是指blob存儲?如果是這樣,層次結構就是StorageAccount/Container/BlobName。沒有嵌套的容器。儘管如此,您可以在blob名稱中使用斜槓來模擬URI中的嵌套容器。有關命名詳細信息,請參閱this article on MSDN。
我aggree與tobint答案,我想是因爲我還 我需要同樣的方式上傳補充一下這個情況我的遊戲HTML到Azure存儲與創建此目錄:
- 遊戲\ Beautyshop \ index.html在
- 遊戲\ Beautyshop \資產\ apple.png
- 遊戲\ Beautyshop \資產\ ARO mas.png
- Games \ Beautyshop \ customfont.css
- Games \ Beautyshop \ jquery。JS
所以,你的建議後,我想我的內容上傳用的工具,它是Azure存儲資源管理器,你可以下載工具和源代碼,這個網址:Azure Storage Explorer
首先,我試圖通過工具來上傳但它不允許分級目錄上傳,因爲您不需要:How to create sub directory in a blob container
最後,我調試Azure存儲資源管理器源代碼,並在StorageAccountViewModel.cs文件中編輯了Background_UploadBlobs方法和UploadFileList字段。你可以編輯它你想要的。我可能犯了拼寫錯誤:/我很抱歉,但這只是我的建議。
示例代碼
string myfolder = "<folderName>";
string myfilename = "<fileName>";
string fileName = String.Format("{0}/{1}.csv", myfolder, myfilename);
CloudBlockBlob blob = container.GetBlockBlobReference(fileName);
- 1. 由C#創建蔚藍存儲帳戶
- 2. 如何在蔚藍的Blob存儲創建空文件夾
- 3. 如何刪除Blob存儲容器蔚藍的NodeJS
- 4. 存儲XML在蔚藍的表存儲
- 5. 蔚藍表存儲查詢
- 6. 蔚藍表存儲和Python
- 7. 如何創建蔚藍VM與REST API
- 8. 錯誤創建與蔚藍
- 9. 如何設置蔚藍存儲表的保留期限?
- 10. 如何將位圖在蔚藍的SQLSERVER
- 11. 創建蔚藍包與構建
- 12. 蔚藍存儲blob突然被刪除
- 13. 獲取從蔚藍的表存儲
- 14. 蔚藍blob存儲使用gzip跨線
- 15. 蔚藍斑點存儲效果
- 16. 在蔚藍表存儲中存儲枚舉列表
- 17. 創建蔚藍PHP Web角色
- 18. 在蔚藍
- 19. 如何使用新的TableQuery <T>蔚藍表存儲
- 20. 無法創建存儲帳戶直通蔚藍的自動化運行手冊
- 21. 管理蔚藍的資源管理器存儲的PowerShell
- 22. 蔚藍轉化配置
- 23. 如何獲取從蔚藍
- 24. 如何使用蔚藍
- 25. google.cloud存儲python api在指定位置創建存儲桶
- 26. 在哪裏插入IgnoreResourceNotFoundException在蔚藍存儲
- 27. 問題在蔚藍
- 28. 如何在現有的蔚藍sql數據庫中創建聯合
- 29. 如何推送容器到Google容器註冊表(無法創建存儲庫)
- 30. 無法與蔚藍的Blob存儲與當地的Hadoop連接
請注意,由於SDK 2.0版的'GetBlobDirectoryReference'位不起作用。我們可以使用下面的代碼: 'CloudBlobContainer container = cloudBlobClient.GetContainerReference(directoryName);' 'CloudBlobDirectory subDirectory = container.GetDirectoryReference(subDirectoryName);' etc ... – Knelis 2013-04-04 12:18:56
這個概念有PHP實現嗎? – 2014-12-20 11:03:56
在你的函數調用中它應該是'cloudBlobClient'還是'client'? – juunas 2016-10-24 13:42:09