📜  python install minio - Python (1)

📅  最后修改于: 2023-12-03 14:45:59.475000             🧑  作者: Mango

Python安装Minio

Minio是一个高性能、最小化的对象存储服务,可以通过简单易用的API来访问它的存储。本文将介绍如何在Python中安装Minio。

安装Minio

在Python中安装Minio可以通过以下命令实现:

pip install minio

这会自动下载和安装Minio的Python库。

连接到Minio

要连接到Minio服务器,请使用以下代码:

from minio import Minio

client = Minio(
    endpoint='minio.example.com',
    access_key='ACCESSKEY',
    secret_key='SECRETKEY',
    secure=True
)
  • endpoint - Minio服务器的主机名或IP地址
  • access_key - Minio服务器的访问密钥
  • secret_key - Minio服务器的密钥
  • secure - 是否使用HTTPS连接(默认为True)
创建桶

要创建一个桶,请使用以下代码:

from minio.error import BucketAlreadyOwnedByYou, BucketAlreadyExists

bucket_name = 'my-bucket'
try:
    client.make_bucket(bucket_name)
except BucketAlreadyOwnedByYou as err:
    pass
except BucketAlreadyExists as err:
    pass
except Exception as err:
    print(err)
else:
    print("Bucket %s created successfully." % bucket_name)
上传文件

请使用以下代码上传文件:

from minio import PostPolicy
from datetime import datetime, timedelta

# 设置上传策略
expires = datetime.utcnow() + timedelta(days=1)
policy = PostPolicy()
policy.set_bucket_name('my-bucket')
policy.set_key('my-objectname')
policy.set_expires(expires)
client.presigned_post_policy(policy)

# 上传文件
with open('path/to/local/file', 'rb') as file_data:
    file_stat = os.stat('path/to/local/file')
    client.put_object(
        bucket_name='my-bucket',
        object_name='my-objectname',
        data=file_data,
        length=file_stat.st_size
    )
下载文件

使用以下代码从Minio下载文件:

import io

object_name = 'my-objectname'
try:
    # 下载对象
    data = client.get_object('my-bucket', object_name)
    # 输出对象内容
    with io.BytesIO() as f:
        for d in data.stream():
            f.write(d)
        content = f.getvalue()
    print(content)
except Exception as err:
    print(err)
完成

你已经学会如何在Python中安装和使用Minio了。享受Minio的乐趣吧!