文章目录
- 安装配置 MinIO 服务
- Python 调用
- SDK 简介
- 调用示例
安装配置 MinIO 服务
1、使用 brew 安装 MinIO
如果您之前使用 brew install minio
安装了MinIO服务器,那么我们建议您改为从 minio/stable/minio
重新安装。
brew install minio/stable/minio
2、创建文件夹作为 MinIO 工作目录
cd ~
mkdir minio/data
启动程序 默认写入 ~/data
中,如果没有 这个文件夹,需要手动创建一个,否则报错。
可以将地址写入配置
export MINIO_CONFIG_ENV_FILE=/etc/default/minio
minio server --console-address :9090
3、运行服务
minio server ~/minio/data
服务起来后,会显示 API、WebUI、CLI 等地址
打开管理端(WebUI)页面
http://192.168.2.203:9000 RootUser: minioadmin
RootPass: minioadmin
有漂亮的监控页面
Python 调用
SDK 简介
MinIO 支持以下语言的 SDK :
Go、Python、Java、.NET、JavaScript、Haskell、C++
对于 Python 有以下资料
- github : https://github.com/minio/minio-py
- Python Client API Reference :
https://min.io/docs/minio/linux/developers/python/API.html - 更多示例:https://github.com/minio/minio-py/tree/master/examples
调用示例
这里简单上传文件到服务的指定 桶
, 桶
不存在则创建
# 从minio库中导入Minio客户端类
from minio import Minio
# 实例化
client = Minio(# endpoint指定的是你Minio的远程IP及端口endpoint = "192.168.1.153:9000",# accesskey指定的是你的Minio服务器访问key# 默认值为minioadminaccess_key= "minioadmin",# secret_key指定的是你登录时需要用的key,类似密码# 默认值也是minioadminsecret_key= "minioadmin",# secure指定是否以安全模式创建Minio连接# 建议为Falsesecure= False
)print('-- client : ', client)
# The file to upload, change this path if needed
source_file = "/Users/xxx/Downloads/d1.txt"# The destination bucket and filename on the MinIO server
bucket_name = "python-test-bucket"
destination_file = "my-test-file.txt"# Make the bucket if it doesn't exist.
found = client.bucket_exists(bucket_name)
if not found:client.make_bucket(bucket_name)print("Created bucket", bucket_name)
else:print("Bucket", bucket_name, "already exists")# Upload the file, renaming it in the process
client.fput_object(bucket_name, destination_file, source_file,
)
print(source_file, "successfully uploaded as object",destination_file, "to bucket", bucket_name,
)
可以在管理端看到结果
在 MinIO 的工作目录也可以看到这个文件
在元数据的基础上,头部添加了元数据信息
XL2 ?x?&?????!?^??L-???J??Type?V2Obj??ID??DDir?<U????L????hfC ?EcAlgo?EcM?EcN?EcBSize??EcIndex?EcDist??CSumAlgo?PartNums??PartETags??PartSizes????PartASizes????Size???MTime???!?^??MetaSys??x-minio-internal-inline-data?true?MetaUsr??content-type?application/oct??§??JCȐ?>???.??,?$??
2024-09-14(六)