Minio在Windows的部署并使用Python来操作桶

什么是Minio?

MinIO 是一个开源的对象存储服务器,具有高可用性、高性能和可伸缩性。它兼容 Amazon S3 API,因此可以无缝地替代 Amazon S3 作为对象存储的解决方案。

MinIO 可以让你在自己的基础设施中搭建一个对象存储服务,使你能够存储和检索任意类型的数据,例如图像、视频、文档等。你可以使用 MinIO 提供的 API 进行数据的上传、下载和管理,也可以通过 MinIO 客户端库在应用程序中与 MinIO 进行交互。

MiniO官网:MinIO | 高性能, Kubernetes 原生对象存储

下载Minio

可通过这个链接下载minio.exe文件。下载完成后,在minio.exe所在目录下进入cmd,输入:

minio.exe server D:\ 希望启动minio服务目录的路径

sever:指定minio server的管道操作,如果在不指定具体操作,如:start(启动)、stop(停止)、restart(重启)

红色文字处自行修改。

按下Ctrl+鼠标左键点击http://127.0.0.1:9000进入浏览器页面并使用 root 凭据登录。您可以使用浏览器创建存储桶、上传对象和浏览 MinIO 服务器的内容。

默认的RootUser和RootPass均为minioadmin。

扫描二维码关注公众号,回复: 15597882 查看本文章

 进入MinIO控制台,如下图所示:

创建桶

创建bucket。点击Buckets—>Create Bucket

自行命名

使用Python交互实现文件上传并获取可分享链接

新建一个虚拟环境,下面仅供参考:

conda create -n Minio python=3.7 

pip命令安装

pip install minio

导入minio包,创建客户端  

import minio
import os

client = minio.Minio(
    endpoint='192.168.43.128:9000',
    access_key='minioadmin',
    secret_key='minioadmin',
    secure=False
)

通过client.bucket_exists()函数直接进行存储桶的查询,添加参数“bucket_name”,为了防止因存储桶不存在而无法上传的情况,先使用条件语句判断。

if client.bucket_exists("computerversion"):

没有问题的话,就用with open打开我们的文件:

 with open("ikun.mp4", "rb") as file_data:
     bytes_length = os.path.getsize("ikun.mp4")
     client.put_object("computerversion", "ikun.mp4", file_data, bytes_length)
     url = client.presigned_get_object("computerversion", "ikun.mp4")
     print(url)

全部代码:

import minio
import os

client = minio.Minio(
    endpoint='192.168.43.128:9000',
    access_key='minioadmin',
    secret_key='minioadmin',
    secure=False
)

if client.bucket_exists("computerversion"):
    with open("ikun.mp4", "rb") as file_data:
        bytes_length = os.path.getsize("ikun.mp4")
        client.put_object("computerversion", "ikun.mp4", file_data, bytes_length)
        url = client.presigned_get_object("computerversion", "ikun.mp4")
        print(url)

控制台输出:

Ctrl+左键打开URL,文件在浏览器中下载。

 再次打开Minio控制台并刷新。

文件上传成功!

Windows的API文档

MinIO Object Storage for Windows — MinIO Object Storage for Windows

进去也能查看其他语言的API。这里只是搭建测试的一个简单示例,后面会有更多的开发。

参考文章

(2条消息) MinIO在Windows的部署与简单使用_minio windows部署_半岛铁子_的博客-CSDN博客

(2条消息) 【高可用对象存储实战】使用Python操作Minio存储桶_minio python_Day(AKA Elin)的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/m0_62919535/article/details/131586718
今日推荐