Minio怎么通过key和secret上传文件
- 环境查看
系统环境
# lsb_release -a
No LSB modules are available.
Distributor ID:Ubuntu
Description:Ubuntu 20.04.4 LTS
Release:20.04
Codename:focal
# uname -a
Linux AiServer003088 5.15.0-102-generic #112~20.04.1-Ubuntu SMP Thu Mar 14 14:28:24 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
软件环境
# python --version
Python 3.12.11
# minio --version
minio version RELEASE.2023-12-14T18-51-57Z (commit-id=6c89a81af43316fe6c82420034b8a048631a1f70)
Runtime: go1.21.5 linux/amd64
License: GNU AGPLv3 <https://www.gnu.org/licenses/agpl-3.0.html>
Copyright: 2015-2023 MinIO, Inc.
-
创建key和secret
登录Minio控制台创建key和secret
-
创建桶
自定义桶名
-
示例Python代码
from minio import Minio
from minio.error import S3Error
# MinIO 服务连接信息
minio_client = Minio(
endpoint="192.168.3.204:9000", # MinIO 服务地址和端口
access_key="xxx", # 你的 Access Key
secret_key="xxx", # 你的 Secret Key
secure=False # 如果是 https,则设为 True
)
# 要操作的桶名称
bucket_name = "runner"
# 要上传的本地文件路径
local_file = "/etc/hosts"
# 上传到 MinIO 后的对象名称
# 可以定义多层目录,会自动在桶里面创建文件夹
# 本次上传文件到根目录
object_name = "hosts"
# 创建 bucket(如果不存在)
if not minio_client.bucket_exists(bucket_name):
minio_client.make_bucket(bucket_name)
print(f"创建了 bucket: {bucket_name}")
else:
print(f"Bucket 已存在: {bucket_name}")
try:
# 上传文件
minio_client.fput_object(
bucket_name, object_name, local_file,
)
print(f"成功上传文件 {local_file} 到 {bucket_name}/{object_name}")
except S3Error as err:
print(f"上传失败: {err}")
安装依赖
# pip install minio
执行正常即可上传文件至minio
在Minio管理界面打开桶查看