本文主要是介绍MinIO 分布式文件系统 快速入门 这篇就够了,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.MinIO简介
MinIO 是一个开源的对象存储服务,它提供了一个可扩展的分布式文件系统,用于存储和检索任意类型的数据。MinIO 旨在为云原生应用程序提供快速、可靠和成本效益高的存储服务,并支持多种数据格式和协议,如Amazon S3 API。
2. 在docker上部署minio
关于docker上的部署这篇讲解很详细,大家可以参考
http://t.csdnimg.cn/FWT1Yhttp://t.csdnimg.cn/FWT1Y
3. minio的基本使用
3.1 创建bucket
3.2 上传文件(打开bucket的右边)
4. 使用Java代码实现minIO
4.1 引入依赖
<dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.4.3</version></dependency><dependency><groupId>com.squareup.okhttp3</groupId><artifactId>okhttp</artifactId><version>4.8.1</version></dependency>
4.2 上传文件、删除文件、下载文件的代码
@SpringBootTest
class MinioDemoApplicationTests {// 创建一个MinioClient实例,用于与MinIO服务器的交互MinioClient minioClient =MinioClient.builder().endpoint("http://192.168.92.136:9000") // MinIO服务器的地址.credentials("minioadmin","minioadmin") // MinIO服务的访问凭证.build();// 上传文件@Testvoid testUpload() throws Exception {// 创建上传文件的参数信息UploadObjectArgs uploadObjectArgs = UploadObjectArgs.builder().bucket("testbucket") // 指定上传到哪个桶.filename("C:\\Users\\haoge\\Pictures\\9780fe1eaa34499fa37f560e6f9a2818_1507729237.png") // 本地文件的路径.object("9780fe1eaa34499fa37f560e6f9a2818_1507729237.png") // 在MinIO中存储的文件名.build();// 使用MinioClient上传文件minioClient.uploadObject(uploadObjectArgs);}// 删除文件@Testvoid testDelete() throws Exception{// 创建删除文件的参数信息RemoveObjectArgs removeObjectArgs = RemoveObjectArgs.builder().bucket("testbucket") // 指定从哪个桶删除.object("9780fe1eaa34499fa37f560e6f9a2818_1507729237.png") // 要删除的文件名.build();// 使用MinioClient删除文件minioClient.removeObject(removeObjectArgs);}// 下载文件@Testvoid testGetFile() throws Exception{// 创建获取文件的参数信息GetObjectArgs getObjectArgs = GetObjectArgs.builder().bucket("testbucket") // 指定从哪个桶获取文件.object("9780fe1eaa34499fa37f560e6f9a2818_1507729237.png") // 要获取的文件名.build();// 使用MinioClient获取文件的输入流FilterInputStream inputStream = minioClient.getObject(getObjectArgs);// 创建本地文件的输出流FileOutputStream outputStream = new FileOutputStream(new File("D:\\1.png"));// 使用IOUtils的copy方法将输入流中的数据复制到输出流中,即写入到本地文件IOUtils.copy(inputStream, outputStream);}
}
这篇关于MinIO 分布式文件系统 快速入门 这篇就够了的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!