mirror of https://github.com/abpframework/abp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
3.6 KiB
3.6 KiB
BLOB Storing Minio 提供程序
BLOB Storing Minio提供程序帮助你存储对象到 MinIO Object storage,
阅读BLOB存储文档了解如何使用BLOB存储系统, 本文档仅介绍如何为容器配置Minio提供程序,
安装
使用 ABP CLI 来安装 Volo.Abp.BlobStoring.Minio NuGet 包到你的项目:
- 如果你没有安装ABP CLI,请先安装 ABP CLI,
- 在要添加
Volo.Abp.BlobStoring.Minio
包的.csproj
文件目录打开命令行, - 执行
abp add-package Volo.Abp.BlobStoring.Minio
命令,
如果你要手动安装, 通过NuGet安装 Volo.Abp.BlobStoring.Minio 到你的项目,然后添加 [DependsOn(typeof(AbpBlobStoringMinioModule))]
特性到你的 ABP module 类上,
配置
配置在你的module类中的ConfigureServices
方法中完成,
例: 配置使用Minio存储
Configure<AbpBlobStoringOptions>(options =>
{
options.Containers.ConfigureDefault(container =>
{
container.UseMinio(minio =>
{
minio.EndPoint = "你的 minio endPoint";
minio.AccessKey = "你的 minio accessKey";
minio.SecretKey = "你的 minio secretKey";
minio.BucketName = "你的 minio bucketName";
});
});
});
参阅BLOB存储文档 学习如何为指定容器配置提供程序,
选项
- EndPoint (string): 你的Minio对象存储服务的URL, 查看文档:https://docs.min.io/docs/dotnet-client-quickstart-guide.html
- AccessKey (string): Access key是唯一标识你的账户的用户ID,
- SecretKey (string): Secret Key是你的账户的密码
- BucketName (string):你可以指定bucket名称,如果没有指定,将使用
BlobContainerName
属性定义的BLOB容器的名称(查阅BLOB storing document),MinIO完全兼容S3标准,所以有一些 bucket命名规则,必须符合规则:- Bucket名称必须介于 3 到 63 个字符之间.
- Bucket名称只能由小写字母、数字、句点 (.) 和连字符 (-) 组成.
- Bucket名称必须以字母或数字开头和结尾.
- Bucket名称不能是ip (例如, 192.168.5.4).
- Bucket名称不能以 xn-- 开头, (对于2020年2月以后创建的 Bucket).
- Bucket名称在分区中必须唯一 .
- Bucket 与 Amazon S3 Transfer Acceleration 一起使用时名称中不能有句点 (.).
- WithSSL (bool): 默认
false
,代表使用HTTPS, - CreateContainerIfNotExists (bool): 默认
false
,如果不存在bucket,MinioBlobProvider
将会创建一个,
Minio BLOB 名称计算器
默认情况下BLOB的全名由以下规则确定:
- 如果当前租户为
null
(或容器禁用多租户 - 请参阅BLOB存储文档 了解如何禁用容器的多租户),则追加host
字符串, - 如果当前租户不为
null
,则追加tenants/<tenant-id>
字符串, - 追加 BLOB 名称,
其他服务
MinioBlobProvider
是实现Minio BLOB存储提供程序的主要服务,如果你想要通过依赖注入覆盖/替换它(不要替换IBlobProvider
接口,而是替换MinioBlobProvider
类).IMinioBlobNameCalculator
服务用于计算文件路径. 默认实现是DefaultMinioBlobNameCalculator
. 如果你想自定义文件路径计算,可以替换/覆盖它.