minio上传文件 Python
时间: 2025-01-17 20:51:28 浏览: 62
使用Python代码将文件上传到MinIO服务器
为了实现这一目标,put_object()
是 MinIO Python SDK 中的一个重要方法,该方法允许用户把数据上传至指定的 MinIO 存储桶内[^1]。
下面是一个完整的例子来展示怎样利用 minio
库完成此操作:
安装依赖库
首先需要安装 minio 的 python sdk, 可以通过 pip 来安装:
pip install minio
初始化客户端并配置连接参数
初始化 MinIO 客户端实例时需提供服务地址、访问密钥以及秘密密钥作为认证凭证。
from minio import Minio
client = Minio(
"play.min.io", # 替换成实际的服务URL
access_key="YOUR-ACCESSKEYID",
secret_key="YOUR-SECRETACCESSKEY",
secure=True # 如果使用HTTPS则设置为True,默认False表示HTTP
)
创建存储桶 (如果尚未存在)
在尝试上传之前应该确认目标存储桶已经存在。可以通过如下方式检查和创建新的存储桶:
bucket_name = 'my-bucket'
if not client.bucket_exists(bucket_name):
client.make_bucket(bucket_name)
else:
print(f'Bucket {bucket_name} already exists')
执行文件上传过程
最后一步就是调用 put_object()
方法执行具体的文件上传动作。这里假设有一个名为 example.pdf
的本地文件等待被上载。
file_path = './example.pdf'
object_name = 'uploaded_example.pdf'
with open(file_path, 'rb') as file_data:
file_stat = os.stat(file_path)
client.put_object(
bucket_name,
object_name,
file_data,
file_stat.st_size,
content_type='application/pdf',
)
print(f'{file_path} is successfully uploaded as {object_name}')
上述代码片段展示了如何打开一个二进制模式下的文件流,并将其传递给 put_object()
函数;同时指定了对象名称和服务端预期的内容类型。
相关推荐


















