# Wiz.Minio.EventData
**Repository Path**: wiz-pr/wiz.minio.eventdata
## Basic Information
- **Project Name**: Wiz.Minio.EventData
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-03-05
- **Last Updated**: 2025-03-27
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 说明
- 基于ABP模块, 如非ABP模块, 需要将 IMinioDownloadService 注册为单例生命周期服务
- 所有有效代码位于 src/Wiz.Minio.EventData/EventData 目录下
## 配置说明
### MinioConnection 部分
此部分配置了与 Minio 对象存储服务建立连接所需的参数。
```json
{
"MinioConnection": {
// Minio 服务的地址和端口
"Endpoint": "127.0.0.1:9000",
// 用于访问 Minio 服务的访问密钥
"AccessKey": "admin",
// 用于访问 Minio 服务的秘密密钥
"SecretKey": "P@ssw0rd",
// 是否使用 SSL 加密连接,false 表示不使用 SSL, 默认为 false
"UseSSL": false
}
```
### TaskApp 部分
此部分配置了任务应用的相关参数,例如任务保留时长、定时器间隔、移除延迟等。
```json
"TaskApp":{
// 任务保留的时长,单位为小时, 默认为 24
"TaskKeepHours": 24,
// 定时器的间隔时间,单位是分钟, 默认为 10
"TimerInterval": 10,
// 移除任务的延迟时间,单位是分钟, 默认为 10
"RemoveDelay": 10,
// 是否跳过不存在的任务,true 表示跳过, 默认为 false
"SkipNotFound": true
}
}
```
## 主要类说明
### IMinioDownloadService
此服务提供了下载 Minio 文件说明。
```csharp
///
/// 表示 Minio 文件服务的接口
///
public interface IMinioDownloadService
{
///
/// 异步下载并压缩文件
///
/// Minio 查询数据传输对象
/// 开始任务结果
Task StartDownloadTaskAsync(MinioQueryDto dto);
///
/// 获取任务状态
///
/// 任务 ID
/// 任务错误消息
/// 任务状态
DownloadTaskStatus GetTaskStatus(string taskId, out string message);
///
/// 获取下载任务压缩文件的流
///
/// 任务 ID
///
/// 文件流
///
/// 此方法会返回一个文件流,该流包含了下载任务压缩后的文件内容。
/// 调用者需要负责关闭该流。
/// 如果任务未完成,该方法会一直阻塞,直到任务完成。
/// 如果任务已完成,该方法会返回一个已完成的任务流。
/// 如果任务不存在或下载任务失败,该方法会抛出异常。
///
Task GetTaskStreamAsync(string taskId, CancellationToken cancellationToken);
///
/// 获取所有任务
///
/// 任务字典
Dictionary GetTasks();
///
/// 移除任务
///
/// 任务 ID
void RemoveTask(string taskId);
///
/// 任务状态改变事件
///
event EventHandler TaskStatusChanged;
///
/// 任务进度改变事件
///
event EventHandler TaskProgressChanged;
}
```
### MinioFileServiceCollectionExtensions
此扩展方法用于向服务集合中添加 Minio 下载任务相关服务和选项。
方法
- AddMinioFileService: 向服务集合中添加 Minio 下载任务相关服务和选项。
### TestService
使用示例