Windows Azure blob存储& URL重写

时间:2012-09-05 05:00:56

标签: azure url-rewriting azure-storage

我需要的是重写所请求的blob的URL,即代替 http://myaccount.blob.core.windows.net/clients/ {客户名称} /images/imagefile.jpg 应该服务 http://myaccount.blob.core.windows.net/clients/images/imagefile.jpg

URL中的客户端名称是一个拥有SEO URL的请求,因为文件名是唯一的,我想将blob名称作为 images / imagefile.jpg而不是 {client-name} /images/imagefile.jpg并在IIS中使用URL重写等内容。 如果客户端更改它的名称会变得很痛苦,因为我无法重命名blob我必须创建副本并删除旧的blob。可能需要一分多钟才能承受不起。

1 个答案:

答案 0 :(得分:2)

您不能对存储帐户使用URL Rewrite之类的内容。您只能将自定义域映射到存储帐户。例如,不要使用:http://myaccount.blob.core.windows.net/来引用blob ...您可以将它们映射到http://img.yourdomain.com/ ...您还可以使用Azure CDN来获得更好的性能和用户体验!

此外,如果你关心搜索引擎优化,你还必须考虑不仅“重命名”blob,而且还要使用旧的blob中的HTTP 301重定向到新的blob。 Azure存储服务也是不可能的。我建议您使用client-id而不是client-name

<强>更新

你可以“恢复”blob,同步重命名文件的方式。鉴于您的要求 - 如果您想“快速”重命名大量图像,您必须编写简单的“服务”,因为我无法找到另一种方法来重命名文件系统上的1000个文件。随着blob,尽管远程,它将几乎相同。你必须在机器上保存blob是错的。自2011年11月发布(我认为)以来,有一个新功能(CloudBlob实例上的方法),名为CopyFromBlobHere is an example of how to rename blobs.。这样,您可以轻松地在不同帐户周围移动blob,而无需先下载内容。是的,它可能需要比本地文件系统更长的时间。但这仍然是一个公平的解决方案。

考虑一下Azure存储是什么。可大规模扩展,可靠的存储即服务。您有100TB(如果需要可以增加),本地3个副本+另一个地理区域一个副本。 CDN支持这种海量存储,全球有超过24个节点。我不认为重命名是最需要的。