using Minio.DataModel.Args; using Minio.DataModel.Result; using Minio.Exceptions; using Minio; namespace LFlow.Base.Utils { public class BucketManager { public static IMinioClient minioClient; public BucketManager(IMinioClient IminioClient) { minioClient= IminioClient; } /// /// 1、判断bucket是否存在 /// /// /// public static async Task IsExistStr(string bucketName) { try { BucketExistsArgs args = new BucketExistsArgs().WithBucket(bucketName); bool found = await minioClient.BucketExistsAsync(args).ConfigureAwait(false); Console.WriteLine("found。。。。。。", found); if (found) { Console.WriteLine($"{bucketName}桶已存在"); return $"{bucketName}桶已存在"; } else { Console.WriteLine($"{bucketName}桶不存在"); return $"{bucketName}桶不存在"; } } catch (MinioException e) { Console.WriteLine("[Bucket] Exception: {0}", e); return "出错啦!!!"; } } /// /// 2、创建一个bucket /// /// /// public static async Task Create(string? bucketName) { try { BucketExistsArgs args = new BucketExistsArgs().WithBucket(bucketName); bool found = await minioClient.BucketExistsAsync(args).ConfigureAwait(false); if (found) { return $"{bucketName}桶已存在"; } else { MakeBucketArgs makeBucketArgs = new MakeBucketArgs().WithBucket(bucketName); await minioClient.MakeBucketAsync(makeBucketArgs).ConfigureAwait(false); return $"{bucketName}桶已成功创建"; } } catch (MinioException e) { Console.WriteLine("[Bucket] Exception: {0}", e); return "出错啦!!!"; } } /// /// 3、移除一个bucket /// /// /// public static async Task Delete(string? bucketName) { try { BucketExistsArgs args = new BucketExistsArgs().WithBucket(bucketName); bool found = await minioClient.BucketExistsAsync(args).ConfigureAwait(false); if (!found) { return $"{bucketName}桶不存在"; } else { RemoveBucketArgs removeBucketArgs = new RemoveBucketArgs().WithBucket(bucketName); await minioClient.RemoveBucketAsync(removeBucketArgs); return $"{bucketName}桶删除成功"; } } catch (MinioException e) { Console.WriteLine("[Bucket] Exception: {0}", e); return "出错啦!!!"; } } /// /// 4、获取已有的bucket列表 /// /// public static async Task GetList() { try { return await minioClient.ListBucketsAsync(); } catch (MinioException e) { Console.WriteLine("Error occurred: " + e); return null; } } } }