从 azure blob 存储中提供 webapp 静态内容

Posted

技术标签:

【中文标题】从 azure blob 存储中提供 webapp 静态内容【英文标题】:serve webapp static content from azure blob storage 【发布时间】:2015-10-01 14:32:46 【问题描述】:

我的 .Net MVC Azure webapp 站点有两个文件夹,它们从站点的根目录提供静态内容。

/docs   (PDF,docx etc)

/images  (jpg,gif,png etc)

两个文件夹都包含分层结构的文件(文件夹,即公共、徽标等)。

如果我将这些文件存储在 blob 存储中,我可以将虚拟目录“映射”到存储容器还是 URL 重写是最有效的选择?

我还尝试使用 azure storage explorer 将文件上传到容器(文档),并注意到似乎没有一种分层存储它的方法。这是否意味着我需要为每个子文件夹创建一个 blob 容器,并为每个潜在文件夹添加 URL 重写规则?

【问题讨论】:

【参考方案1】:

如果我将这些文件存储在 blob 存储中,我可以“映射”一个虚拟目录吗 存储容器还是 URL 重写是最有效的选择?

我不确定您是否可以映射虚拟目录,但您可以将自定义域关联到您的 Blob 存储。因此,您可以创建“staticontent.yourwebsite.com”并将其映射到您的 blob 存储。更多详情请查看此链接:https://azure.microsoft.com/en-in/documentation/articles/storage-custom-domain-name/。

我还尝试使用 azure storage explorer 将文件上传到 容器(文档)并注意似乎没有一种存储方式 它是分层的。这是否意味着我需要创建一个 blob 每个子文件夹的容器,并为每个子文件夹添加 URL 重写规则 潜在的文件夹?

本机 Blob 存储不支持文件夹和子文件夹的概念。它本质上具有 2 级层次结构:blob 容器和 blob。但这并不意味着您必须为每个文件夹创建一个 blob 容器。但是,您可以通过将文件夹名称作为文件名的前缀来创建文件夹层次结构的错觉。一些存储资源管理器工具会自动为您执行此操作(不幸的是,Azure 存储资源管理器不是其中之一:()。试试Cerebrata Azure Explorer。使用它,您应该能够将文件夹从本地计算机上传到 blob 容器,同时维护文件夹结构。

【讨论】:

以上是关于从 azure blob 存储中提供 webapp 静态内容的主要内容,如果未能解决你的问题,请参考以下文章

自动将 Azure Webapp wwwroot 目录备份到 azure blob 存储

从 Azure Blob 存储提供视频内容

APIM:从 Azure DevOps CD 管道中的 Azure Blob 存储中检索策略 XML 失败,如收到错误,如提供的链接格式错误

C# API - 提供从 Azure Blob 存储下载的文件

使用 Azure 函数从 Azure Blob 存储下载文件会返回不同的文件大小

Azure 存储模拟器访问 Blob 时出错