如何从azure网站访问作为azure blob托管的XML

时间:2013-02-28 12:03:29

标签: azure cross-domain azure-storage-blobs azure-web-sites

我目前正在调查问题: 我们有一个后端应用程序,用于创建包含内容的XML文件,并将它们存储为Azure Blob(我们无法更改)。

Blob示例网址:http://mytestaccount.blob.core.windows.net

我们正在实施一个使用这些XML文件的网页。

我们当前的解决方案是在与提到的XML文件相同的blob上托管的静态网页(不需要iis或任何其他服务器)。

问题1:有没有办法将域名重定向到我们当前作为blob托管的网页?

我们考虑过将我们的Web应用程序托管为Blob,而不是使用Azure网站。这会产生跨域请求的问题(我们必须获取这些XML文件)。

网站示例网址:http://mytestpage.azurewebsites.net

问题2:有没有办法通过jquery ajax调用从这样的网页(托管为Azure网页)下载XML到存储为Blob的xml?

1 个答案:

答案 0 :(得分:0)

  

问题1:有没有办法将域名重定向到我们当前作为blob托管的网页?

是的,当然可以这样做,但目前存在一些限制。请参阅此链接,了解如何配置指向blob存储的子域:http://msdn.microsoft.com/en-us/library/windowsazure/ee795179.aspx。请注意,目前您没有选择使用此方法为您的网站指定默认文档。

  

问题2:有没有办法通过jquery ajax调用从这样的网页(托管为Azure网页)下载XML到存储为Blob的xml?

读取blob不会导致跨域请求问题。当您尝试在blob存储中发布/放置一些内容时,会出现跨域问题。

只要你的blob容器是公共的,你应该能够毫无问题地访问blob。这是一个简单的GET。但是,如果您的blob容器是私有的,那么您需要在具有“读取”权限的Blob上创建共享访问签名URI,并在您的jQuery AJAX调用中使用该URI。

更新:通过jQuery AJAX调用读取blob会产生“跨域”错误。