然后设置一个文件存储的路径如:E:\MinIO\data
然后进入minio.exe所在的目录,按住Shilft键然后点击鼠标右键打开powershell直接运行如下命令即可:
minio.exe server E:\MinIO\data看到如上所示的页面说明MinIO就已经运行起来了,简单吧!这时候你用浏览器打开
:9000 即可看到如下的UI
输入上面显示的Access Key 以及Secret Key登录即可
.NET Core集成这一小节我们就结合我们之前开发的文件存储微服务来写一个MinIO的Provider来支持MinIO的文件上传与下载吧。
这里我只是简单的演示下,所以就用官方提供的实例代码继续演示了。
首先引入nuget包,注意就在写这篇文章前几个小时官方才发布了最新的3.1.12版本的nuget包,解决了BucketExistsAsync的一个bug,所以今天才进行这篇文章的分享。
Install-Package Minio然后构建MinioClient
var endpoint = "127.0.0.1:9000"; var accessKey = "minioadmin"; var secretKey = "minioadmin"; try { var minio = new MinioClient(endpoint, accessKey, secretKey).WithSSL(); FileUpload.Run(minio).Wait(); } catch (Exception ex) { Console.WriteLine(ex.Message); }上传的代码如下:
private async static Task Run(MinioClient minio) { var bucketName = "mymusic"; var location = "us-east-1"; var objectName = "golden-oldies.zip"; var filePath = "C:\\Users\\username\\Downloads\\golden_oldies.mp3"; var contentType = "application/zip"; try { // Make a bucket on the server, if not already present. bool found = await minio.BucketExistsAsync(bucketName); if (!found) { await minio.MakeBucketAsync(bucketName, location); } // Upload a file to bucket. await minio.PutObjectAsync(bucketName, objectName, filePath, contentType); Console.WriteLine("Successfully uploaded " + objectName ); } catch (MinioException e) { Console.WriteLine("File Upload Error: {0}", e.Message); } }是不是很简单。关于更多api的使用可以查看如下的文档:
这是中文的api文档哦,所以就不说太多了
https://docs.min.io/cn/dotnet-client-api-reference.html
总结今天跟大家介绍了另一个而且是更好用的分布式文件存储系统,看了MinIO的资料后毫不犹豫的选择了它,然后就无情的把FastDFS给丢弃了。如果你也有构建分布式文件系统的需求不妨关注下这个MinIO。