# 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 使用示例