对接MinIO
continuous-integration/drone/push Build is passing

This commit is contained in:
2023-11-17 17:55:19 +08:00
parent 2ce78f333b
commit 55b72a9156
6 changed files with 161 additions and 21 deletions
+55 -17
View File
@@ -14,8 +14,17 @@ using System.Threading.Tasks;
namespace IRaCIS.Core.Application.Helper
{
public class MinIOOptions
{
public string Endpoint { get; set; }
public string Port { get; set; }
public bool UseSSL { get; set; }
public string AccessKey { get; set; }
public string SecretKey { get; set; }
public string BucketName { get; set; }
}
public class AliyunOssOptions
public class AliyunOSSOptions
{
public string RegionId { get; set; }
public string AccessKeyId { get; set; }
@@ -23,15 +32,56 @@ namespace IRaCIS.Core.Application.Helper
public string EndPoint { get; set; }
public string BucketName { get; set; }
public string RoleArn { get;set; }
public string RoleArn { get; set; }
public string Region { get; set; }
public string ViewEndpoint { get; set; }
}
public class ObjectStoreServiceOptions
{
public string ObjectStoreUse { get; set; }
public AliyunOSSOptions AliyunOSS { get; set; }
public MinIOOptions MinIO { get; set; }
}
public class ObjectStoreDTO
{
public string ObjectStoreUse { get; set; }
public AliyunOSSTempToken AliyunOSS { get; set; }
public MinIOOptions MinIO { get; set; }
}
public class AliyunOSSTempToken
{
public string AccessKeyId { get; set; }
public string AccessKeySecret { get; set; }
public string SecurityToken { get; set; }
public string Expiration { get; set; }
public string Region { get; set; }
public string BucketName { get; set; }
public string ViewEndpoint { get; set; }
}
public enum ObjectStoreUse
{
AliyunOSS = 0,
MinIO = 1,
AWS = 2,
}
public interface IOSSService
{
@@ -41,29 +91,17 @@ namespace IRaCIS.Core.Application.Helper
public class OSSService : IOSSService
{
public AliyunOssOptions _OSSConfig { get; set; }
public AliyunOSSOptions _OSSConfig { get; set; }
public OssClient _ossClient { get; set; }
public OSSService(IOptionsMonitor<AliyunOssOptions> options)
public OSSService(IOptionsMonitor<AliyunOSSOptions> options)
{
var ossOptions = options.CurrentValue;
_OSSConfig= ossOptions;
//_OSSConfig = new AliyunOssOptions()
//{
// RegionId = ossOptions.RegionId,
// AccessKeyId = ossOptions.AccessKeyId,
// AccessKeySecret = ossOptions.AccessKeySecret,
// EndPoint = ossOptions.EndPoint,
// BucketName = ossOptions.BucketName,
// RoleArn = ossOptions.RoleArn,
// Region = ossOptions.Region,
// ViewEndpoint = ossOptions.ViewEndpoint
//};
_OSSConfig = ossOptions;
_ossClient = new OssClient(_OSSConfig.EndPoint, _OSSConfig.AccessKeyId, _OSSConfig.AccessKeySecret);