【发布时间】:2022-01-27 12:49:16
【问题描述】:
我是 Azure WebApps 和存储的新手,我需要一些澄清/确认。需要注意的主要事情是,我的应用程序(如下所述)需要一个文件夹层次结构。 Blob 是不可能的,除非我使用共享访问签名 (SAS),否则文件共享不允许匿名访问。
我对 Azure 存储的理解是否正确,是你适合 Azure 存储模型还是不适合?
谁能告诉我如何使用 Blob 实现 CMS 应用程序的要求,如下所述?
我看到的唯一选择是找到一种方法来更改 CMS 应用程序,以便它始终在 URL 中包含它从存储中请求的每个文件的 SAS,以便在我的 Web 应用程序上提供内容?如果是这样,如果我将我的 SAS 设置为在遥远的将来某个时间到期,会有问题吗?
https://应用名称>.file.core.windows.net/instance1/site1/file1.jpg?SAS>
使用 Blob 的问题
到目前为止,我的理解是 Blob 存储不允许“子文件夹”,因为它是一个包含非结构化数据的容器,因此我无法根据我的应用程序(如下所述)使用它,因为它需要文件夹结构。
使用文件共享的问题
文件共享似乎很完美,因为它允许文件夹层次结构,这自然是我用过的。
但是,不允许匿名访问存储在文件存储中的文件,需要授权访问。授权访问的一种方法是在文件/共享级别上创建具有读取权限的 SAS,然后使用该 SAS URL 访问文件。
Cannot access Windows azure file storage document
我的应用程序
我创建了一个运行开源 CMS 应用程序的 Linux Web 应用程序。此应用程序允许创建多个网站,每个网站的内容(如图像、文档、多媒体)都存储在文件服务器上。然后通过定义的 URL 将这些文件提供给网站。
CMS 应用程序允许设置保存文件的位置,这将是文件服务器上的文件夹。然后,它为它在该位置托管的每个站点创建一个新的子文件夹。
示例文件夹层次结构
/instance1
/site1
/file1
/file2
/site2
/file1
/file2
【问题讨论】:
标签: azure-web-app-service azure-blob-storage azure-storage azure-files