Azure Blob存储提供程序
Azure Blob存储提供程序可将BLOB对象存储在Azure Blob存储中。
请先阅读 BLOB存储文档了解BLOB存储系统的使用方法。本文档仅介绍如何配置容器以使用Azure Blob作为存储提供程序。
安装
使用ABP CLI将Volo.Abp.BlobStoring.Azure NuGet包添加到您的项目:
- 若尚未安装,请先安装 ABP CLI
- 在需要添加
Volo.Abp.BlobStoring.Azure包的.csproj文件所在目录打开命令行(终端) - 运行
abp add-package Volo.Abp.BlobStoring.Azure命令
如需手动安装,请将Volo.Abp.BlobStoring.Azure NuGet包添加到项目,并在项目的ABP模块类中添加[DependsOn(typeof(AbpBlobStoringAzureModule))]依赖。
配置
配置在模块类的ConfigureServices方法中完成,具体说明请参阅 BLOB存储文档。
示例:配置默认使用Azure存储提供程序
Configure<AbpBlobStoringOptions>(options =>
{
options.Containers.ConfigureDefault(container =>
{
container.UseAzure(azure =>
{
azure.ConnectionString = "您的Azure连接字符串";
azure.ContainerName = "您的Azure容器名称";
azure.CreateContainerIfNotExists = true;
});
});
});
关于如何为特定容器配置此提供程序,请参阅 BLOB存储文档。
配置选项
- ConnectionString (字符串):连接字符串包含应用程序在运行时使用共享密钥授权访问Azure存储账户数据所需的认证信息。请参考Azure文档:https://docs.microsoft.com/zh-cn/azure/storage/common/storage-configure-connection-string
- ContainerName (字符串):可指定Azure中的容器名称。若未指定,将使用通过
BlobContainerName特性定义的BLOB容器名称(参见 BLOB存储文档)。请注意Azure对容器命名有特定规则。容器名称必须是有效的DNS名称,符合以下命名规则:- 容器名称必须以字母或数字开头和结尾,且只能包含字母、数字和短横线(-)
- 每个短横线(-)必须紧邻字母或数字,容器名称中不允许连续使用短横线
- 容器名称中的所有字母必须为小写
- 容器名称长度必须在3到63个字符之间
- CreateContainerIfNotExists (布尔值):默认值为
false。如果Azure中不存在指定容器,AzureBlobProvider将尝试创建该容器
Azure Blob名称计算器
Azure Blob提供程序会组织BLOB名称并实现某些约定。默认情况下,BLOB的完整名称按以下规则确定:
- 若 当前租户 为
null(或容器已禁用多租户功能——参见 BLOB存储文档 了解如何为容器禁用多租户),则添加host字符串 - 若当前租户不为
null,则添加tenants/<租户ID>字符串 - 添加BLOB名称
其他服务
AzureBlobProvider是实现Azure BLOB存储提供程序的主服务。如需通过依赖注入覆盖/替换该服务(不要替换IBlobProvider接口,而是替换AzureBlobProvider类)IAzureBlobNameCalculator用于计算完整BLOB名称(如上所述)。默认由DefaultAzureBlobNameCalculator实现
抠丁客


