用 UI、MinIO Client、API 操作 RustFS 存储桶
MinIO 是全球知名的对象存储系统,开源免费,但是最近两年 MinIO 在开源版本上删除了一些对用户很重要的功能(比如 UI 操作),引发了社区、用户的不满。为此,国内研发团队基于 Rust 自研了一套 MinIO 平替 —— RustFS。RustFS 完全兼容 S3,是 MinIO 的平替。目前 RustFS 已经开源。本文分享 RustFS 存储桶操作的三种方法。
存储桶是 RustFS 存储数据的最基本单元,可以通过 UI、mc(MinIO Client)或 API 来对存储桶进行操作(创建或删除)。
前提条件
- 一个可用的 RustFS 实例
在 UI 上创建/删除存储桶
创建存储桶
登录 RustFS UI 控制台,在首页,左上角,选择创建存储桶 :

输入存储桶名称,注意存储桶的命名规则:

点击创建 即可创建成功。
上传文件到存储桶
选择要上传文件的存储桶,在存储桶顶部可以看到上传文件/文件夹 、新建目录 、新建文件 按钮:

点击上传文件/文件夹:

选择上传文件 或上传文件夹,然后点击开始上传即可:

删除存储桶中的文件
如要删除存储桶中的文件,选中文件,然后选择右上角的删除选中项 :

删除存储桶
在存储桶列表页面,找到要删除的存储桶,选择最右侧的删除 按钮,即可删除存储桶:

注意 :需要将存储桶下面的数据删除才可以删除存储桶,否则无法直接删除存储桶。
用 mc创建/删除存储桶
前提条件
- 安装好了 MinIO Client(可用
mc --version确认) - 用
mc alias配置好存储系统别名
创建存储桶
使用 mc mb来创建存储桶:
# 创建存储桶
mc mb rustfs/bucket-creation-by-mc
Bucket created successfully `rustfs/bucket-creation-by-mc`.
# 确认存储桶
mc ls rustfs/bucket-creation-by-mc
在 UI 上可以看到 bucket-creation-by-mc已创建出:

上传文件到存储桶
使用 mc cp上传文件到存储桶:
# 上传文件
mc cp 1.txt rustfs/bucket-creation-by-mc
/tmp/1.txt: 13 B / 13 B ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ 61 B/s 0s%
# 文件查看
mc ls rustfs/bucket-creation-by-mc
[2025-08-01 10:01:08 CST] 13B 1.txt
在 UI 上可以看到 bucket-creation-by-mc存储桶下面有一个 1.txt文件:

删除存储桶中的文件
使用 mc rm删除存储桶中的文件:
# 删除文件
mc rm rustfs/bucket-creation-by-mc/1.txt
Removed `rustfs/bucket-creation-by-mc/1.txt`.
# 删除确认
mc ls rustfs/bucket-creation-by-mc/1.txt
在 UI 上可以看到 bucket-creation-by-mc 存储桶下面已经没有了 1.txt文件:

删除存储桶
用 mc rb删除存储桶:
# 删除桶存储
mc rb rustfs/bucket-creation-by-mc
Removed `rustfs/bucket-creation-by-mc` successfully.
# 删除确认
mc ls rustfs/bucket-creation-by-mc
mc: <ERROR> Unable to list folder. Bucket `bucket-creation-by-mc` does not exist.
在 UI 上也可以看到 bucket-creation-by-mc已经不存在。
用 API 创建/删除存储桶
创建存储桶
使用如下 API 可创建存储桶:
PUT /{bucketName} HTTP/1.1
比如用 curl发送如下命令:
curl --location --request PUT 'http://12.34.56.78:9000/bucket-creation-by-api' \
--header 'X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' \
--header 'X-Amz-Date: 20250801T023519Z' \
--header 'Authorization: AWS4-HMAC-SHA256 Credential=H4xcBZKQfvJjEnk3zp1N/20250801/cn-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=c2fb2ba5199a30ebcfa9976d0f35000ba274da3701327957e84ea0f3920288f2'
可以在 UI 上确认 bucket-creation-by-api创建成功。
注意 :需要将 Credential=H4xcBZKQfvJjEnk3zp1N 中的值替换为自己 RustFS 实例的访问密钥。
上传文件到存储桶
使用如下 API 上传文件到存储桶:
PUT /{bucketName}/{objectName} HTTP/1.1
比如用如下 curl命令上传 password.txt到bucket-creation-by-api存储桶:
curl --location --request PUT 'http://12.34.56.78:9000/bucket-creation-by-api/password.txt' \
--header 'Content-Type: text/plain' \
--header 'X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' \
--header 'X-Amz-Date: 20250801T024840Z' \
--header 'Authorization: AWS4-HMAC-SHA256 Credential=H4xcBZKQfvJjEnk3zp1N/20250801/cn-east-1/s3/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date, Signature=b7d8dc29ee34dfdf1f3e9e8e069892a8936f478586e7a2c90cf34f5b86d3a2dc' \
--data-binary '@/path/to/password.txt'
可在 UI 上确认 password.txt文件已上传至 bucket-creation-by-api存储桶:

注意 :需要将 Credential=H4xcBZKQfvJjEnk3zp1N 中的值替换为自己 RustFS 实例的访问密钥。
删除存储桶
使用如下 API 删除存储桶:
DELETE /{bucketName} HTTP/1.1
比如用 curl发送如下命令:
curl --location --request DELETE 'http://12.34.56.78:9000/bucket-creation-by-api' \
--header 'X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' \
--header 'X-Amz-Date: 20250801T024406Z' \
--header 'Authorization: AWS4-HMAC-SHA256 Credential=H4xcBZKQfvJjEnk3zp1N/20250801/cn-east-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=d0f6addf09fffd7eef75191e9d3209bb7188e6b004e9707238fc60ad7033edae'
可在 UI 确认 bucket-creation-by-api 已被删除。
注意 :需要将 Credential=H4xcBZKQfvJjEnk3zp1N 中的值替换为自己 RustFS 实例的访问密钥。
删除存储桶中的文件
使用如下 API 删除存储桶中的文件:
DELETE /{bucketName}/{objectName} HTTP/1.1
比如用 curl发送如下命令:
curl --location --request DELETE 'http://12.34.56.78:9000/bucket-creation-by-api/password.txt' \
--header 'Content-Type: text/plain' \
--header 'X-Amz-Content-Sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855' \
--header 'X-Amz-Date: 20250801T030822Z' \
--header 'Authorization: AWS4-HMAC-SHA256 Credential=H4xcBZKQfvJjEnk3zp1N/20250801/cn-east-1/s3/aws4_request, SignedHeaders=content-length;content-type;host;x-amz-content-sha256;x-amz-date, Signature=1ee63bb0b699598602b2fdbd013e355a57bcb9991307a8ad41f6512e8afebf3a' \
--data-binary '@/Users/jhma/Desktop/password.txt'
可在 UI 确认 bucket-creation-by-api下的 password.txt文件已被删除。
注意 :需要将 Credential=H4xcBZKQfvJjEnk3zp1N中的值替换为自己 RustFS 实例的访问密钥。
用 UI、MinIO Client、API 操作 RustFS 存储桶的更多相关文章
- Python Client API文档
官网文档地址:http://docs.minio.org.cn/docs/master/python-client-api-reference 初使化MinIO Client对象 from minio ...
- 【知识体系】Kafka文档汇总、组成及架构,配置,常见名词解释,命令行及api操作,官方文档内容,各部分深入,zookeeper和security,监控和运维
〇.相关资料 1.快速搭建文档: 2.详细讲义 3.在线官方文档:http://kafka.apache.org/documentation/ 4.Kafka知识个人总结 5.KafkaPPT汇报 链 ...
- MinIO Client完全指南
官方文档地址:http://docs.minio.org.cn/docs/master/minio-client-complete-guide 下载,添加云存储服务参考这篇文章:https://www ...
- UI Framework-1: Aura Client API
Client API The Aura Client API is an API Aura uses to communicate with the client application using ...
- Amazon S3 对象存储Java API操作记录(Minio与S3 SDK两种实现)
缘起 今年(2023年) 2月的时候做了个适配Amazon S3对象存储接口的需求,由于4月份自学考试临近,一直在备考就拖着没总结记录下,开发联调过程中也出现过一些奇葩的问题,最近人刚从考试缓过来顺手 ...
- MongoDB Java API操作很全的整理
MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,一般生产上建议以共享分片的形式来部署. 但是MongoDB官方也提供了其它语言的客户端操作API.如下图所示: 提供了C.C++ ...
- Dynamics 365中的Client API form context (formContext)
适用于Dynamics 365 for Customer Engagement apps 9.x版本. 本文是一篇翻译,原文来源是微软官方文档. 本文链接:https://www.cnblogs.co ...
- ecshop /api/client/api.php、/api/client/includes/lib_api.php SQL Injection Vul
catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 ECShop存在一个盲注漏洞,问题存在于/api/client/api. ...
- Memcached Java Client API详解
针对Memcached官方网站提供的java_memcached-release_2.0.1版本进行阅读分析,Memcached Java客户端lib库主要提供的调用类是SockIOPool和MemC ...
- HBASE的读写以及client API
一:读写思想 1.系统表 hbase:namespace 存储hbase中所有的namespace的信息 hbase:meta rowkey:hbase中所有表的region的名称 column:re ...
随机推荐
- C#之线程同步
简述 当一个线程执行递增和递减操作时,其他线程需要依次等待,类似于这种常见的问题通常被称为线程同步问题. 有多种方式实现线程同步.首先,如果无须共享对象,那么就无序进行线程同步.大多数时候,可以通过重 ...
- MCP Server 实践之旅第 3 站:MCP 协议亲和性的技术内幕
作者:柳下,西流 背景 在分布式架构设计中,请求亲和性是实现有状态服务高可用的核心技术,通过将具备相同会话标识的请求智能路由至固定计算节点,保障会话连续性及缓存有效性.然而在 Serverless 范 ...
- .NET 开源工业视觉系统 OpenIVS 快速搭建自动化检测平台
前言 随着工业4.0和智能制造的发展,工业视觉在质检.定位.识别等场景中发挥着越来越重要的作用.然而,开发一个完整的工业视觉系统往往需要集成相机控制.图像采集.图像处理.AI推理.PLC通信等多个模块 ...
- 怒更一波TransDuck免费的声音克隆和AI配音功能
宝子们! 最近咱软件TransDuck的免费声音克隆和AI配音功能被大家用爆啦!感谢各位自来水疯狂安利!! DD这里也是收到好多用户提的宝贵建议!所以,连夜肝了波更新! 这次重点更新使用克隆音色进行A ...
- chrome和firefox driver使用代理
chrome chromedriver使用代理示例 from selenium import webdriver from selenium.webdriver import DesiredCapab ...
- python基础—数字,字符串练习题
1.如有以下变量 n1=5,请使用 int 的提供的方法,得到该变量最少可以用多少个二进制位表示? n1=5 r=n1.bit_lenght() #当前数字的二进制,至少用n位表示.bit_lengh ...
- 化学数据分析AI实验室?ChatMoney帮你打造
本文由 ChatMoney团队出品 AI确实是个好东西,但AI到底是有什么用?其实很多人都没搞明白.AI如果在某个行业用的好,是能带来很大经济价值的.就拿AI在化学应用来说,AI在化工领域上的应用和化 ...
- 优化PHP开发流程:精选工具与配置指南,提升代码质量与效率
本文由 ChatMoney团队出品 在PHP开发领域,选择正确的工具可以极大地提升开发效率和代码质量. 集成开发环境(IDE) PHPStorm 是一个强大的IDE,专为PHP开发设计.它提供了丰富的 ...
- equals与==与hashCode的区别与联系
equals与hashcode的区别与联系 1."=="与equals的区别与联系 (1)"=="对于基本数据类型,只要值相等,就返回true,否则返回fals ...
- 建发弘爱 X 袋鼠云:加速提升精细化、数字化医疗健康服务能力
厦门建发弘爱医疗集团有限公司(简称"建发弘爱")创立于2022年,是厦门建发医疗健康投资有限公司的全资子公司,专业从事医疗健康领域的医疗服务. 建发弘爱通过医疗.健康及产业服务三大 ...