所有文章 > 学习各类API > 获取 MinIO 存储端点的快速指南
获取 MinIO 存储端点的快速指南

获取 MinIO 存储端点的快速指南

MinIO 是一个开源的对象存储服务,兼容亚马逊S3云存储接口,适用于存储大容量非结构化数据如图片、视频等。本文介绍了如何通过不同平台如 Docker、Linux 和 Windows 安装 MinIO,以及在 Java 中使用 MinIO 的方法。通过这篇文章,您将了解如何获取 MinIO 存储端点,安装和使用 MinIO 进行文件存储和管理。

1、简介

MinIO 是一个基于 Apache License v2.0 开源协议的 对象存储服务,兼容亚马逊 S3 云存储服务接口,非常适合存储大容量的 非结构化 数据,如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。一个对象文件可以从几 KB 到最大 5T。MinIO 是一个非常轻量的服务,可以轻松与其他应用结合,如 NodeJS、Redis 或 MySQL。

2、容器安装

MinIO 可以作为容器运行,适合早期开发和评估。某些功能,如版本控制、对象锁定和存储桶复制需要分布式部署 MinIO。

2.1、Docker

docker run -p 9000:9000 
  --name minio1 
  -v /mnt/data:/data 
  -e "MINIO_ROOT_USER=AKIAIOSFODNN7EXAMPLE" 
  -e "MINIO_ROOT_PASSWORD=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" 
  minio/minio server /data

2.2、Linux

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /data

2.3、Windows

下载:

http://dl.minio.org.cn/server/minio/release/windows-amd64/minio.exe

启动:

minio.exe server D:

将“D:”替换为 MinIO 存储数据的路径。启动成功示意图

3、使用说明

3.1 访问地址

访问 MinIO 的地址为 http://{ip}:{port}/minio/http://{ip}:{port}。默认的 root 凭据为 minioadmin:minioadmin访问界面示例

3.2 创建和管理

创建 Buckets

创建存储桶用于存储和管理对象。创建界面示例

上传文件

通过浏览器直接上传文件至 MinIO。上传文件示例

访问权限

若访问受限,可通过自定义 JSON 字符串设置访问权限。

{
  "Statement": [
    {
      "Action": "s3:GetObject",
      "Effect": "Allow",
      "Principal": "*",
      "Resource": "arn:aws:s3:::lease/*"
    }
  ],
  "Version": "2012-10-17"
}

4、JAVA 使用 MinIO 的方法

通过 Java 代码操作 MinIO,可以创建存储桶并上传文件。

4.1 添加依赖


    io.minio
    minio
    7.1.0

4.2 参数配置

配置 MinIO 的参数:Endpoint、Access Key 和 Secret Key。

4.3 编写 MinIO 配置信息

@Configuration
@ConfigurationProperties(prefix = "minio")
@ConditionalOnClass({MinioClient.class})
@ConditionalOnProperty({"minio.endpoint"})
public class MinioAutoConfiguration {
    // 配置代码省略
}

4.4 上传文件代码

public static String uploadFile(InputStream inputStream, String objectName, String fileName) {
    // 上传代码省略
}

4.5 调用上传方法

@PostMapping("/upload")
@ApiOperation("上传文件")
public String upload(@RequestPart(value = "file") MultipartFile file) throws IOException {
    return MinioUtil.uploadFile(file.getInputStream(), "my-file", file.getOriginalFilename());
}

4.6 测试

成功上传文件后返回可访问的 URL。测试界面示例

附工具类

提供了 MinIO 的工具类代码,支持文件上传、下载、删除等操作。

FAQ

问:MinIO 是什么?

  • 答:MinIO 是一个基于 Apache License v2.0 开源协议的对象存储服务,兼容亚马逊 S3 云存储服务接口,非常适合存储大容量的非结构化数据,如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。

问:如何在 Docker 中安装 MinIO?

  • 答:可以使用以下命令在 Docker 中安装 MinIO:
    docker run -p 9000:9000 
    --name minio1 
    -v /mnt/data:/data 
    -e "MINIO_ROOT_USER=AKIAIOSFODNN7EXAMPLE" 
    -e "MINIO_ROOT_PASSWORD=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" 
    minio/minio server /data

问:如何在 Windows 上运行 MinIO?

  • 答:首先下载 MinIO 可执行文件,然后通过命令 minio.exe server D: 启动 MinIO,将 “D:” 替换为 MinIO 存储数据的路径。

问:如何访问 MinIO 的存储端点?

  • 答:可以通过 http://{ip}:{port}/minio/http://{ip}:{port} 访问 MinIO 的存储端点,默认的 root 凭据为 minioadmin:minioadmin

问:如何通过 Java 使用 MinIO 上传文件?

  • 答:首先添加 MinIO 的 Maven 依赖,然后配置 MinIO 的参数(如 Endpoint、Access Key 和 Secret Key),编写上传文件的 Java 代码,并调用相应的方法来上传文件。
#你可能也喜欢这些API文章!