2009-12-09 74 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中起作用!

相关问题