2009-12-09 108 views
3

我正在使用Windows Azure,並且只使用Blob存儲。我已經將我的Blob存儲設置爲在其虛擬Web角色的自己的Solution文件中運行。我先在我的開發機器上運行它,以便Azure服務啓動。我已配置服務以使用開發共享密鑰和帳戶名稱。通過簡單的REST「GET」訪問本地Azure blob存儲

我將我的web應用程序(在另一個解決方案中)指向本地Blob存儲服務時遇到了問題。我可以上傳文件到Blob存儲,我可以在我的本地數據庫中看到記錄。因此,我在web.config中輸入了正確的設置。但是,我無法通過簡單的Get請求訪問文件。我已經證實,該容器是公開的。

我使用的URI是:當我用我生產的Azure服務

http://127.0.0.1:10000/{container-name}/{filename}.{extension} 

我的代碼工作,所以有關於開發環境,我失去了一些東西有什麼不同?本地環境是否允許REST訪問?

更新:我最近發現this MSDN Article,它描述了生產和開發存儲URI之間的區別。我還在我的博客上記錄了我的環境here

+0

你這是什麼意思是「本地環境是否允許REST訪問?」對於blob,你應該能夠將網址放入你的瀏覽器,並且它應該被提供(只使用沒有認證的get)。你是否想做一些比這更有趣的事情? 對於本地存儲示例我有以下圖像url返回本地存儲中的blob(incident1 =容器名稱): http://127.0.0.1:10000/devstoreaccount1/incident1/chrysanthemum.jpg – 2009-12-10 12:44:31

回答

9

的URI看起來稍微不正確,爲開發存儲URI格式爲:

http://<local-machine-address>:<port>/<account-name>/<resource-path> 

鑑於該帳戶名稱始終devstoreaccount1你的URI應該是:

http://127.0.0.1:10000/devstoreaccount1/{container-name}/{filename}.{extension} 
+1

Nigel,your建議工作,是完美的。然而,我浪費了一些時間,認爲它不起作用,因爲devstoreaccount1和「/」之間有空格。如果你編輯你的帖子來刪除,我會選擇你的答案。我正在複製和粘貼你的URI的第一部分並追加我的這是我遇到問題的原因。 – YeahStu 2009-12-10 22:25:10

+0

對不起,我正在複製和粘貼帳戶名稱。 – 2009-12-11 01:04:23

+0

好工作nigel。這幫助我感謝! :) – Christo 2012-02-01 02:10:44

0

你得到了什麼樣的反應或錯誤代碼? 如果您使用IE,您可以安裝Fiddler或使用IE8中內置的開發人員工具來幫助調試通信問題。 當然 - 開發結構在REST中起作用!