MinIO是一个高性能的对象存储服务,类似于Amazon S3。它提供了一个简单的、无服务器的、可扩展的、安全的云存储解决方案。Python可以通过minio
库与MinIO进行交互。
MinIO主要分为两种类型:
MinIO适用于各种需要对象存储的场景,包括但不限于:
首先,确保你已经安装了minio
库。如果没有安装,可以使用以下命令进行安装:
pip install minio
以下是一个示例代码,展示如何使用Python将目录上传到MinIO:
from minio import Minio
from minio.error import S3Error
import os
# 配置MinIO客户端
client = Minio(
'minio.example.com', # MinIO服务器地址
access_key='YOUR_ACCESS_KEY', # 访问密钥
secret_key='YOUR_SECRET_KEY', # 密钥
secure=True, # 使用HTTPS
region='us-east-1' # 区域
)
# 检查MinIO服务器是否可用
if not client.bucket_exists('my-bucket'):
client.make_bucket('my-bucket')
# 上传目录
def upload_directory(bucket_name, local_directory):
for root, dirs, files in os.walk(local_directory):
for file in files:
local_path = os.path.join(root, file)
relative_path = os.path.relpath(local_path, local_directory)
object_name = os.path.join(bucket_name, relative_path).replace("\\", "/")
try:
client.fput_object(bucket_name, object_name, local_path)
print(f"Uploaded {local_path} to {object_name}")
except S3Error as e:
print(f"Error uploading {local_path}: {e}")
# 上传本地目录到MinIO
upload_directory('my-bucket', '/path/to/local/directory')
通过以上步骤,你应该能够成功地将目录上传到MinIO。如果遇到具体问题,请根据错误信息进行排查。
领取专属 10元无门槛券
手把手带您无忧上云