Umbraco7:在同一个Azure存储帐户中设置多个/ media / blob容器

时间:2018-11-07 13:44:41

标签: azure azure-storage umbraco azure-storage-blobs umbraco7

我们需要将多个Umbraco网站从内部部署迁移到Azure Web应用。

每个站点都有自己的/ media /文件夹,并且由于所有图像都需要较大的存储空间(〜2gb)和许多读/写操作,因此我们考虑为此使用通过Blob容器解决方案的Azure存储帐户。

说使用一个Azure存储帐户通过Blob容器为所有站点的/ media文件夹提供服务会降低成本,而不是为每个站点使用单独的存储帐户是否正确?

我们发现UmbracoFileSystemProviders.Azure软件包很棒,但是找不到有关如何实现本文标题中所述内容的任何详细信息。

问题:如何在同一个Azure存储帐户中设置多个/ media / blob容器来提供多个Umbraco站点的图像?

1 个答案:

答案 0 :(得分:3)

您确实可以使用一个Azure存储帐户;只需为每个网站设置不同的Blob容器-实际上,它们不需要称为“媒体”。例如,在以下示例中,我将containerName设置为Site1Media

  <Provider alias="media" type="Our.Umbraco.FileSystemProviders.Azure.AzureBlobFileSystem, Our.Umbraco.FileSystemProviders.Azure">
<Parameters>
    <add key="containerName" value="Site1Media"/>
    <add key="rootUrl" value="https://youritteam.blob.core.windows.net/"/>
    <add key="connectionString" value="DefaultEndpointsProtocol=https;AccountName=[Account];AccountKey=[Key]"/>
    <!--
    Optional configuration value determining the maximum number of days to cache items in the browser.
    Defaults to 365 days.
  -->
    <add key="maxDays" value="365"/>
    <!--
    When true this allows the VirtualPathProvider to use the deafult "media" route prefix regardless 
    of the container name.
  -->
    <add key="useDefaultRoute" value="true"/>
    <!--
    When true blob containers will be private instead of public what means that you can't access the original blob file directly from its blob url.
  -->
    <add key="usePrivateContainer" value="false"/>
</Parameters>

关于Azure存储的另一件事是,您只需为使用的数据付费;因此,设置多个存储帐户不会花费您额外的费用-为多个网站拥有一个存储帐户可能几乎没有好处。而且以后您可能会发现每个网站拥有一个存储帐户会容易得多-特别是如果您想将网站转移到另一订阅中。