用python存取minio的文件

要使用Python存取MinIO中的文件,你可以使用minio库。以下是一个简单的步骤指南和示例代码,帮助你存取MinIO中的文件。

安装 MinIO 客户端

首先,你需要安装minio库。你可以使用pip来安装它:

pip install minio

使用 MinIO 客户端

下面是一个基本的示例代码,展示如何连接到MinIO服务器、上传文件、下载文件和列出存储桶中的对象。

from minio import Minio
from minio.error import S3Error

# 初始化MinIO客户端
client = Minio(
    "YOUR_MINIO_SERVER:9000", # 替换为你的MinIO服务器地址和端口
    access_key="YOUR_ACCESS_KEY", # 替换为你的Access Key
    secret_key="YOUR_SECRET_KEY", # 替换为你的Secret Key
    secure=False # 如果使用HTTPS,请将其设置为True
)

# 创建一个新的存储桶 (如果不存在)
bucket_name = "my-bucket"
try:
    if not client.bucket_exists(bucket_name):
        client.make_bucket(bucket_name)
except S3Error as e:
    print("Error occurred:", e)

# 上传文件到存储桶
def upload_file(file_path, object_name):
    try:
        client.fput_object(bucket_name, object_name, file_path)
        print(f"{object_name} 上传成功")
    except S3Error as e:
        print("Error occurred:", e)

# 下载文件从存储桶
def download_file(object_name, file_path):
    try:
        client.fget_object(bucket_name, object_name, file_path)
        print(f"{object_name} 下载成功")
    except S3Error as e:
        print("Error occurred:", e)

# 列出存储桶中的对象
def list_objects():
    try:
        objects = client.list_objects(bucket_name)
        for obj in objects:
            print(obj.object_name)
    except S3Error as e:
        print("Error occurred:", e)

# 示例调用
upload_file("path/to/local/file.txt", "file.txt")  # 上传本地文件到MinIO
download_file("file.txt", "path/to/local/downloaded_file.txt")  # 从MinIO下载文件
list_objects()  # 列出所有对象

注意事项

  • 确保替换 YOUR_MINIO_SERVER, YOUR_ACCESS_KEY, 和 YOUR_SECRET_KEY 为你实际的MinIO服务器的信息。
  • 在上传和下载时,需要提供正确的路径。
  • 如果你想使用HTTPS连接,请确保在客户端初始化时将 secure=True

通过以上步骤,你可以很方便地访问和管理MinIO中的文件。如果有更复杂的需求,例如设置权限、处理大文件等,可以参考官方文档

Published At