📅  最后修改于: 2023-12-03 14:45:59.475000             🧑  作者: Mango
Minio是一个高性能、最小化的对象存储服务,可以通过简单易用的API来访问它的存储。本文将介绍如何在Python中安装Minio。
在Python中安装Minio可以通过以下命令实现:
pip install minio
这会自动下载和安装Minio的Python库。
要连接到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的乐趣吧!