minio python sdk使用

如下

from minio import Minio
from minio.error import S3Error
import logging


logging.basicConfig(filename='logs/myProgramLog.log', level=logging.INFO,
                    format=' %(asctime)s - %(levelname)s- %(message)s')


class Bucket:
    def __init__(self, goods):
        # minio的地址,账户,密码
        self.url = "192.168.18.176:9000"
        self.access = "admin"
        self.secret = "123456"
        # 桶名称
        self.bucketName = "asiatrip"
        # 当前被操作的文件
        self.goods = goods
        # 连接 minio
        self.client = Minio(self.url, self.access, self.secret, secure=False)

    # 不存在则创建桶.
    def createBucket(self):
        found = self.client.bucket_exists(self.bucketName)
        if not found:
            self.client.make_bucket(self.bucketName)
            logging.info(f'创建桶:{self.bucketName}')
        else:
            logging.info(f'桶已存在:{self.bucketName}')

    # 上传文件 桶名称 ,上传后的文件名, 当前传输的文件
    def uploadFlie(self):
        self.client.fput_object(
            self.bucketName, self.goods, self.goods,
        )
        logging.info(f"{self.goods} 上传至 {self.bucketName} ")

    # 下载文件 桶名称 , 要下载的文件名称, 下载后的文件名称
    def downloadFile(self):
        self.client.fget_object(
            self.bucketName, self.goods, self.goods,
        )
        print("successfully")

    # 删除桶内的文件 桶名称 ,文件名称
    def deleteFlie(self):
        self.client.remove_object(self.bucketName, self.goods )

    # 主入口
    def main(self):
        # 创建桶
        self.createBucket()
        # 上传文件
        self.uploadFlie()
        # 下载文件
        self.downloadFile()
        # 删除文件
        self.deleteFlie()


if __name__ == "__main__":
    try:
        Bucket("2.txt").main()
    except S3Error as exc:
        print("error occurred.", exc)
posted @   饭票  阅读(231)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示