【问题标题】:Accessing local Azure blob storage via a simple REST 'GET'通过简单的 REST 'GET' 访问本地 Azure blob 存储
【发布时间】:2010-12-24 21:34:29
【问题描述】:

我正在使用 Windows Azure 并且正在使用 Blob 存储。我已将我的 Blob 存储设置为在其自己的具有虚拟 Web 角色的解决方案文件中运行。我首先在我的开发机器上运行它,以便启动 Azure 服务。我已将服务配置为使用开发共享密钥和帐户名称。

当我将我的 Web 应用程序(在另一个解决方案中)指向本地 Blob 存储服务时,我遇到了问题。我可以将文件上传到 Blob 存储,并且可以查看本地数据库中的记录。因此,我在 web.config 中输入了正确的设置。但是,我无法通过简单的 Get 请求访问该文件。我已验证该容器是公开的。

我使用的 URI 是:

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

当我使用生产 Azure 服务时,我的代码可以正常工作,那么我所缺少的开发环境有什么不同吗?本地环境是否允许 REST 访问?

更新:我最近发现 this MSDN Article 描述了生产和开发存储 URI 之间的差异。我还在我的博客上记录了我的环境here

【问题讨论】:

  • “本地环境是否允许 REST 访问”是什么意思?对于 blob,您应该能够将 url 放在浏览器中并且应该提供它(仅使用没有身份验证的 get)......您是否想做一些比这更有趣的事情?对于本地存储示例,我有以下图像 url 返回本地存储中的 blob(incident1=容器名称):127.0.0.1:10000/devstoreaccount1/incident1/chrysanthemum.jpg

标签: visual-studio rest azure azure-storage


【解决方案1】:

uri看起来有点不对,开发存储uri的格式是:

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

鉴于帐户名称始终为 devstoreaccount1,您的 uri 应为:

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

【讨论】:

  • 奈杰尔,你的建议奏效了,而且很完美。但是,我浪费了一些时间认为它不起作用,因为 devstoreaccount1 和“/”之间有一个空格。如果您编辑帖子以删除该帖子,我将选择您的帖子作为答案。我正在复制并粘贴您的 URI 的第一部分并附加我的,这就是我遇到问题的原因。
  • 抱歉,我在复制和粘贴帐户名称。
【解决方案2】:

您收到什么样的响应或错误代码? 如果您使用的是 IE,您可以安装 Fiddler 或使用 IE8 中内置的开发人员工具来帮助调试通信问题。 当然 - 开发结构在 REST 中工作!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-21
    • 2014-10-16
    • 2023-03-29
    • 2021-01-29
    • 2013-06-25
    • 2011-08-26
    • 2021-04-07
    • 2014-12-06
    相关资源
    最近更新 更多