
Python调用Google Bard API 完整指南
MinIO 是一个开源的对象存储服务,兼容亚马逊S3云存储接口,适用于存储大容量非结构化数据如图片、视频等。本文介绍了如何通过不同平台如 Docker、Linux 和 Windows 安装 MinIO,以及在 Java 中使用 MinIO 的方法。通过这篇文章,您将了解如何获取 MinIO 存储端点,安装和使用 MinIO 进行文件存储和管理。
MinIO 是一个基于 Apache License v2.0 开源协议的 对象存储服务
,兼容亚马逊 S3 云存储服务接口,非常适合存储大容量的 非结构化
数据,如图片、视频、日志文件、备份数据和容器/虚拟机镜像等。一个对象文件可以从几 KB 到最大 5T。MinIO 是一个非常轻量的服务,可以轻松与其他应用结合,如 NodeJS、Redis 或 MySQL。
MinIO 可以作为容器运行,适合早期开发和评估。某些功能,如版本控制、对象锁定和存储桶复制需要分布式部署 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
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /data
下载:
http://dl.minio.org.cn/server/minio/release/windows-amd64/minio.exe
启动:
minio.exe server D:
将“D:”替换为 MinIO 存储数据的路径。启动成功示意图
访问 MinIO 的地址为 http://{ip}:{port}/minio/
或 http://{ip}:{port}
。默认的 root 凭据为 minioadmin:minioadmin
。访问界面示例
创建存储桶用于存储和管理对象。创建界面示例
通过浏览器直接上传文件至 MinIO。上传文件示例
若访问受限,可通过自定义 JSON 字符串设置访问权限。
{
"Statement": [
{
"Action": "s3:GetObject",
"Effect": "Allow",
"Principal": "*",
"Resource": "arn:aws:s3:::lease/*"
}
],
"Version": "2012-10-17"
}
通过 Java 代码操作 MinIO,可以创建存储桶并上传文件。
io.minio
minio
7.1.0
配置 MinIO 的参数:Endpoint、Access Key 和 Secret Key。
@Configuration
@ConfigurationProperties(prefix = "minio")
@ConditionalOnClass({MinioClient.class})
@ConditionalOnProperty({"minio.endpoint"})
public class MinioAutoConfiguration {
// 配置代码省略
}
public static String uploadFile(InputStream inputStream, String objectName, String fileName) {
// 上传代码省略
}
@PostMapping("/upload")
@ApiOperation("上传文件")
public String upload(@RequestPart(value = "file") MultipartFile file) throws IOException {
return MinioUtil.uploadFile(file.getInputStream(), "my-file", file.getOriginalFilename());
}
成功上传文件后返回可访问的 URL。测试界面示例
提供了 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
minio.exe server D:
启动 MinIO,将 “D:” 替换为 MinIO 存储数据的路径。http://{ip}:{port}/minio/
或 http://{ip}:{port}
访问 MinIO 的存储端点,默认的 root 凭据为 minioadmin:minioadmin
。