当前位置: 首页 > news >正文

基于MinIO的对象存储增删改查

MinIO是一个高性能的分布式对象存储服务。Python的minio库可操作MinIO,包括创建/列出存储桶、上传/下载/删除文件及列出文件。

查看帮助信息

 minio.exe --help
minio.exe server  --help                                                                                                                        
ME:                                                                                                                                             
minio.exe server - start object storage server                                                                                                  AGE:                                                                                                                                            
minio.exe server [FLAGS] DIR1 [DIR2..]                                                                                                          
minio.exe server [FLAGS] DIR{1...64}                                                                                                            
minio.exe server [FLAGS] DIR{1...64} DIR{65...128}                                                                                              R:                                                                                                                                              
DIR points to a directory on a filesystem. When you want to combine                                                                             
multiple drives into a single large system, pass one directory per                                                                              
filesystem separated by space. You may also use a '...' convention                                                                              
to abbreviate the directory arguments. Remote directories in a                                                                                  
distributed setup are encoded as HTTP(s) URIs.                                                                                                  AGS:                                                                                                                                            
--config value               specify server configuration via YAML configuration [%MINIO_CONFIG%]                                               
--address value              bind to a specific ADDRESS:PORT, ADDRESS can be an IP or hostname (default: ":9000") [%MINIO_ADDRESS%]             
--console-address value      bind to a specific ADDRESS:PORT for embedded Console UI, ADDRESS can be an IP or hostname [%MINIO_CONSOLE_ADDRESS%]
--ftp value                  enable and configure an FTP(Secure) server                                                                         
--sftp value                 enable and configure an SFTP server                                                                                
--certs-dir value, -S value  path to certs directory (default: "C:\\Users\\lilon\\.minio\\certs")                                               
--quiet                      disable startup and info messages                                                                                  
--anonymous                  hide sensitive information from logging                                                                            
--json                       output logs in JSON format                                                                                         
--help, -h                   show help                                                                                                          AMPLES:                                                                                                                                         
1. Start MinIO server on "/home/shared" directory.                                                                                              C:\> minio.exe server /home/shared                                                                                                           2. Start single node server with 64 local drives "/mnt/data1" to "/mnt/data64".                                                                 C:\> minio.exe server /mnt/data{1...64}                                                                                                      3. Start distributed MinIO server on an 32 node setup with 32 drives each, run following command on all the nodes                               C:\> minio.exe server http://node{1...32}.example.com/mnt/export{1...32}                                                                     4. Start distributed MinIO server in an expanded setup, run the following command on all the nodes                                              C:\> minio.exe server http://node{1...16}.example.com/mnt/export{1...32} \                                                                   http://node{17...64}.example.com/mnt/export{1...64}                                                                                   5. Start distributed MinIO server, with FTP and SFTP servers on all interfaces via port 8021, 8022 respectively                                 C:\> minio.exe server http://node{1...4}.example.com/mnt/export{1...4} \                                                                     --ftp="address=:8021" --ftp="passive-port-range=30000-40000" \                                                                         --sftp="address=:8022" --sftp="ssh-private-key=${HOME}/.ssh/id_rsa"                                                                    

启动服务

$ minio.exe server --address :9001  minio_data\
MinIO Object Storage Server
Copyright: 2015-2025 MinIO, Inc.
License: GNU AGPLv3 - https://www.gnu.org/licenses/agpl-3.0.html
Version: RELEASE.2025-01-20T14-49-07Z (go1.23.5 windows/amd64)API: http://127.0.0.1:9001RootUser: minioadminRootPass: minioadminWebUI: http://127.0.0.1:62335RootUser: minioadminRootPass: minioadminCLI: https://min.io/docs/minio/linux/reference/minio-mc.html#quickstart$ mc alias set 'myminio' 'http://192.168.1.100:9001' 'minioadmin' 'minioadmin'Docs: https://docs.min.io

1

Python实现增删改查

安装依赖

$ pip install minio
Looking in indexes: http://mirrors.aliyun.com/pypi/simple/
Installing collected packages: minio
Successfully installed minio-7.2.15

连接服务

from minio import Minioclient = Minio(endpoint="127.0.0.1:9001",access_key="minioadmin",secret_key="minioadmin",secure=False
)

创建存储桶(Buckets)

def create_bucket():client.make_bucket('bucket1', location="location1")

这里给存储桶命名为bucket1,位置在location1。

列出所有的存储桶

def list_buckets():buckets = client.list_buckets()for bucket in buckets:print(bucket.name, bucket.creation_date)

上传和下载文件

def upload_file():client.fput_object("bucket1", "1.png", "path/to/file/1.png")def download_file():client.fget_object('bucket1', "1.png", 'path/to/file/2.png')

这里的存储桶是bucket1,文件命名为1.png,

移除文件

def remove_file():client.remove_object('bucket1', '1.png')

列出所有的存储对象

def list_objects():objects = client.list_objects('bucket1')for obj in objects:print(obj.object_name)

相关链接

官网 https://min.io/
https://github.com/minio/minio

http://www.lryc.cn/news/529306.html

相关文章:

  • Ubuntu Server 安装 XFCE4桌面
  • MySQL 存储函数:数据库的自定义函数
  • 代码随想录_栈与队列
  • 【微服务与分布式实践】探索 Sentinel
  • 深入研究异常处理机制
  • 【memgpt】letta 课程4:基于latta框架构建MemGpt代理并与之交互
  • 讯飞智作 AI 配音技术浅析(二):深度学习与神经网络
  • 基于单片机的超声波液位检测系统(论文+源码)
  • Autogen_core: test_code_executor.py
  • 从0开始使用面对对象C语言搭建一个基于OLED的图形显示框架
  • Java实现.env文件读取敏感数据
  • Go反射指南
  • Fullcalendar @fullcalendar/react 样式错乱丢失问题和导致页面卡顿崩溃问题
  • 【电工基础】4.低压电器元件,漏电保护器,熔断器,中间继电器
  • 有限元分析学习——Anasys Workbanch第一阶段笔记梳理
  • C++中常用的十大排序方法之1——冒泡排序
  • vscode+WSL2(ubuntu22.04)+pytorch+conda+cuda+cudnn安装系列
  • 手撕Diffusion系列 - 第十一期 - lora微调 - 基于Stable Diffusion(代码)
  • 【Block总结】OutlookAttention注意力,捕捉细节和局部特征|即插即用
  • 网络攻防实战指北专栏讲解大纲与网络安全法
  • 【已解决】windows7虚拟机安装VMtools频繁报错
  • 蓝桥杯模拟算法:多项式输出
  • 冲刺蓝桥杯之速通vector!!!!!
  • 知识管理平台在数字经济时代推动企业智慧决策与知识赋能的路径分析
  • IT服务管理平台(ITSM):构建高效运维体系的基石
  • [EAI-026] DeepSeek-VL2 技术报告解读
  • 深度学习:基于MindNLP的RAG应用开发
  • 【C语言】static关键字的三种用法
  • STM32 PWMI模式测频率占空比
  • 神经网络|(四)概率论基础知识-古典概型