BLOB Storing Azure提供程序
BLOB存储Azure提供程序可以将BLOB存储在Azure Blob storage中.
阅读BLOB存储文档了解如何使用BLOB存储系统. 本文档仅介绍如何为容器配置Azure提供程序.
安装
使用ABP CLI添加Volo.Abp.BlobStoring.AzureNuGet包到你的项目:
- 安装 ABP CLI, 如果你还没有安装.
- 在要添加
Volo.Abp.BlobStoring.Azure
包的.csproj
文件目录打开命令行. - 运行
Volo.Abp.BlobStoring.Azure
命令.
如果要手动安装,在你的项目中安装 Volo.Abp.BlobStoring.Azure
NuGet包然后将[DependsOn(typeof(AbpBlobStoringAzureModule))]
添加到项目内的ABP模块类中.
配置
如同BLOB存储文档所述,配置是在模块类的 ConfigureServices
方法完成的.
示例: 配置为默认使用Azure存储提供程序
Configure<AbpBlobStoringOptions>(options =>
{
options.Containerscontainer.UseAzure(azure =>
{
azure.ConnectionString = "your azure connection string";
azure.ContainerName = "your azure container name";
azure.CreateContainerIfNotExists = false;
});
});
参阅BLOB存储文档 学习如何为指定容器配置提供程序.
选项
- ConnectionString (string): 连接字符串包括应用程序在运行时使用共享密钥授权访问Azure存储帐户中的数据所需的授权信息. 请参考Azure文档.
- ContainerName (string): 你可以在azure中指定容器名称. 如果没有指定它将使用
BlogContainerName
属性定义的BLOB容器的名称(请参阅BLOB存储文档). 请注意Azure有一些命名容器的规则,容器名称必须是有效的DNS名称,符合以下命名规则:- 容器名称必须以字母或数字开头或结尾,并且只能包含字母,数字和破折号(-)字符.
- 每个破折号(-)必须紧跟在字母或数字之后;容器名称中不允许使用连续的破折号.
- 容器名称中的所有字母都必须小写.
- 容器名称的长度必须在3到63个字符之间.
- CreateContainerIfNotExists (bool): 默认值为
false
, 如果azure中不存在容器,AzureBlobProvider
将尝试创建它.
Azure BLOB 名称计算器
Azure BLOB提供程序组织BLOB名称并实现一些约定. 默认情况下BLOB的全名由以下规则确定:
- 如果当前租户为
null
(或容器禁用多租户 - 请参阅BLOB存储文档 了解如何禁用容器的多租户),则追加host
字符串. - 如果当前租户不为
null
,则追加tenants/<tenant-id>
字符串. - 追加 BLOB 名称.
其他服务
AzureBlobProvider
是实现Azure BLOB存储提供程序的主要服务,如果你想要通过依赖注入覆盖/替换它(不要替换IBlobProvider
接口,而是替换AzureBlobProvider
类).IAzureBlobNameCalculator
服务用于计算文件路径. 默认实现是DefaultAzureBlobNameCalculator
. 如果你想自定义文件路径计算,可以替换/覆盖它.