MinIO 分布式文件系统 快速入门 这篇就够了

2024-06-09 13:36

本文主要是介绍MinIO 分布式文件系统 快速入门 这篇就够了,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.MinIO简介

        MinIO 是一个开源的对象存储服务,它提供了一个可扩展的分布式文件系统,用于存储和检索任意类型的数据。MinIO 旨在为云原生应用程序提供快速、可靠和成本效益高的存储服务,并支持多种数据格式和协议,如Amazon S3 API。

2. 在docker上部署minio

关于docker上的部署这篇讲解很详细,大家可以参考

http://t.csdnimg.cn/FWT1Yicon-default.png?t=N7T8http://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 分布式文件系统 快速入门 这篇就够了的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1045321

相关文章

一文详解如何在idea中快速搭建一个Spring Boot项目

《一文详解如何在idea中快速搭建一个SpringBoot项目》IntelliJIDEA作为Java开发者的‌首选IDE‌,深度集成SpringBoot支持,可一键生成项目骨架、智能配置依赖,这篇文... 目录前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

MybatisX快速生成增删改查的方法示例

《MybatisX快速生成增删改查的方法示例》MybatisX是基于IDEA的MyBatis/MyBatis-Plus开发插件,本文主要介绍了MybatisX快速生成增删改查的方法示例,文中通过示例代... 目录1 安装2 基本功能2.1 XML跳转2.2 代码生成2.2.1 生成.xml中的sql语句头2

8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

《8种快速易用的PythonMatplotlib数据可视化方法汇总(附源码)》你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python的Matplotlib库是你数据可视化的... 目录引言1. 折线图(Line Plot)——趋势分析2. 柱状图(Bar Chart)——对比分析3

一文教你Java如何快速构建项目骨架

《一文教你Java如何快速构建项目骨架》在Java项目开发过程中,构建项目骨架是一项繁琐但又基础重要的工作,Java领域有许多代码生成工具可以帮助我们快速完成这一任务,下面就跟随小编一起来了解下... 目录一、代码生成工具概述常用 Java 代码生成工具简介代码生成工具的优势二、使用 MyBATis Gen

使用animation.css库快速实现CSS3旋转动画效果

《使用animation.css库快速实现CSS3旋转动画效果》随着Web技术的不断发展,动画效果已经成为了网页设计中不可或缺的一部分,本文将深入探讨animation.css的工作原理,如何使用以及... 目录1. css3动画技术简介2. animation.css库介绍2.1 animation.cs

SpringBoot快速搭建TCP服务端和客户端全过程

《SpringBoot快速搭建TCP服务端和客户端全过程》:本文主要介绍SpringBoot快速搭建TCP服务端和客户端全过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录TCPServerTCPClient总结由于工作需要,研究了SpringBoot搭建TCP通信的过程

Java实现MinIO文件上传的加解密操作

《Java实现MinIO文件上传的加解密操作》在云存储场景中,数据安全是核心需求之一,MinIO作为高性能对象存储服务,支持通过客户端加密(CSE)在数据上传前完成加密,下面我们来看看如何通过Java... 目录一、背景与需求二、技术选型与原理1. 加密方案对比2. 核心算法选择三、完整代码实现1. 加密上

POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能

《POI从入门到实战轻松完成EasyExcel使用及Excel导入导出功能》ApachePOI是一个流行的Java库,用于处理MicrosoftOffice格式文件,提供丰富API来创建、读取和修改O... 目录前言:Apache POIEasyPoiEasyExcel一、EasyExcel1.1、核心特性

Python中模块graphviz使用入门

《Python中模块graphviz使用入门》graphviz是一个用于创建和操作图形的Python库,本文主要介绍了Python中模块graphviz使用入门,具有一定的参考价值,感兴趣的可以了解一... 目录1.安装2. 基本用法2.1 输出图像格式2.2 图像style设置2.3 属性2.4 子图和聚