3

我需要的是为请求的 blob 重写 URL,即应该提供 http://myaccount.blob.core.windows.net/clients/ {client-name}/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。这可能需要一分钟以上,我们负担不起。

4

1 回答 1

2

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

此外,如果您确实关心 SEO,您还必须考虑不仅要“重命名” blob,还要使用 HTTP 301 从旧 blob 重定向到新 blob。这对于 Azure 存储服务也是不可能的。我建议您使用 client-id 而不是 client-name

更新

您“可以”重新命名 blob,类似于重命名文件的方式。鉴于您的要求 - 如果您想“快速”重命名大量图像,无论如何您都必须编写简单的“服务”,因为我也想不出另一种方法来重命名文件系统上的 1000 个文件。有了这些斑点,虽然很遥远,但它几乎是一样的。你错了,你必须将 blob 保存在机器上。自 2011 年 11 月发布(我认为)以来,有一个名为CopyFromBlob的新功能(CloudBlob 实例上的方法) 。以下是如何重命名 blob 的示例。. 这样,您甚至可以在不同的帐户周围轻松移动 blob,而无需先下载内容。是的,它可能比使用本地文件系统需要更长的时间。

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

于 2012-09-05T05:52:00.393 回答