我正在尋找使用Azure容器和Blob來存儲我的網站的圖像和視頻。我發現http://msdn.microsoft.com/en-us/library/windowsazure/dd179354.aspx談論不同的ALC設置,但它沒有回答我的問題之一。如果容器/ Blob設置爲「沒有公共讀取訪問權限」,該網站表示只有帳戶所有者才能讀取數據。這是否意味着人們無法通過URL訪問它,但是我在Azure虛擬機上託管的MVC Web應用程序能夠通過URL訪問它?Azure容器和Blob的ACL訪問能力
回答
請多多包涵,如果答案聽起來在Windows Azure中有點說教&不必要的冗長:)
基本上每個資源(BLOB容器,BLOB)具有獨特的URL,並可通過REST API(因此在訪問訪問http/https協議)。 Wit Wit,你基本上告訴存儲服務是否遵守發送給服務資源的請求。要了解關於認證機制的更多信息,您可能會發現這個鏈接很有用:http://msdn.microsoft.com/en-us/library/windowsazure/dd179428.aspx。
當您將ACL設置爲No public read access
時,您指示存儲服務不接受任何匿名請求。只有經過身份驗證的請求才會兌現。要創建已認證的請求,您需要使用您的帳戶名稱和密鑰,並創建一個授權頭,該頭隨請求一起傳遞,以訪問請求。如果您的請求中沒有此授權標頭,則該請求將被拒絕。
這麼長的故事總結,回答您的問題即使您的MVC應用程序將無法通過URL訪問blob,除非該請求中包含該授權標頭。一種可能性是探索blob存儲中的Shared Access Signature (SAS)
功能。這會給存儲區中的斑點提供時間受限的權限。因此,您要做的是使用您的帳戶名稱和密鑰在您的MVC應用程序中爲您的blob創建一個SAS URL,並在該應用程序中使用該SAS URL。
爲了進一步說明ACL的概念,假設你有一個名爲mycontainer
一個blob容器,它有一個名爲myaccount
存儲帳戶名爲myblob.txt
斑點。要在容器中列出Blob,容器URL將爲http://myaccount.blob.core.windows.net/mycontainer?restype=container&comp=list
,並且Blob URL將爲http://myaccount.blob.core.windows.net/mycontainer/myblob.txt
。以下將是行爲,當你試圖直接通過與不同的訪問控制列表的瀏覽器訪問以下網址:
無公共讀取權限
集裝箱網址 - 錯誤
斑點網址 - 錯誤
僅針對斑點的公共讀取訪問
容器URL - 錯誤
斑點網址 - 成功(將下載的blob)
全部公共讀取權限
集裝箱網址 - 成功(會顯示有關容器中的所有斑點含有XML文檔的信息)
Blob URL - 成功(將下載blob)
- 1. 限制Azure Blob容器訪問Azure CDN
- 2. Azure Blob容器
- 3. Azure BLOB BLOB共享訪問簽名在BLOB級別,而不是容器
- 4. 在Azure上更改blob容器訪問策略
- 5. Azure Blob容器共享訪問簽名到期
- 6. 更改blob容器訪問權限
- 7. 能夠訪問NetFrameworkConfigurationKey ACL
- 8. Azure SDK Ruby集合容器ACL
- 9. Azure Blob索引器問題
- 10. 訪問的Windows Azure Blob存儲
- 11. 訪問Amazon EMR中的Azure blob存儲
- 12. Azure Blob存儲的事務訪問
- 13. 訪問沒有正則表達式的Azure容器的Blob名稱
- 14. Azure Blob存儲 - $ logs中的listblobs容器
- 15. 訪問Azure blob存儲使用C++
- 16. 從Azure存儲blob訪問元數據
- 17. Azure託管磁盤。訪問底層blob?
- 18. Azure CloudStorageAccount Android:從android中訪問blob
- 19. 使用Codeigniter訪問Azure blob存儲
- 20. Windows Azure本地Blob存儲訪問?
- 21. Azure Blob存儲和Azure驅動器
- 22. Azure Web作業Redis(RedLock)和Blob存儲訪問問題
- 23. Azure的功能 - 調整存儲在一個blob容器
- 24. 在Azure Blob存儲上下載容器
- 25. 如何清潔Azure存儲Blob容器?
- 26. 如何確定Azure容器中所有Blob的Blob類型?
- 27. Azure存儲和Oracle Blob內容
- 28. 如何調整windows azure blob訪問性能
- 29. 製作Azure blob Url只能訪問登錄用戶
- 30. 如何從azure網站訪問以azure blob託管的XML