Python怎么实现上传Minio文件
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,本篇内容介绍了"Python怎么实现上传Minio文件"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
千家信息网最后更新 2025年01月19日Python怎么实现上传Minio文件
本篇内容介绍了"Python怎么实现上传Minio文件"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
环境依赖
安装minio以及oss2依赖
pip install minio -i https://pypi.douban.com/simplepip install oss2 -i https://pypi.douban.com/simple
代码
#!/usr/bin/env python# -*- coding: utf-8 -*-# @Time : 2021/12/10 21:35# @Author : 剑客阿良_ALiang# @Site : # @File : upload_tool.py# !/user/bin/env python# coding=utf-8"""@project : dh_train@author : huyi@file : remote_upload_util.py@ide : PyCharm@time : 2021-12-10 14:58:29"""import tracebackfrom minio import Miniofrom minio.error import S3Errorimport oss2 def minio_file_upload(end_point: str, access_key: str, secret_key: str, bucket: str, remote_path: str, local_path: str): try: _end_point = end_point.replace('https://', '').replace('http://', '') # Create a client with the MinIO server playground, its access key # and secret key. client = Minio( _end_point, access_key=access_key, secret_key=secret_key, secure=False ) # Make 'asiatrip' bucket if not exist. found = client.bucket_exists(bucket) if not found: client.make_bucket(bucket) else: print("Bucket {} already exists".format(bucket)) # Upload '/home/user/Photos/asiaphotos.zip' as object name # 'asiaphotos-2015.zip' to bucket 'asiatrip'. client.fput_object( bucket, remote_path, local_path, ) print( "{} is successfully uploaded as " "object {} to bucket {}.".format(local_path, remote_path, bucket) ) except S3Error as e: print( "*** minio上传文件异常 -> {} {}".format(str(e), traceback.format_exc())) raise Exception("minio上传文件异常:[{}]".format(str(e))) def oss_file_upload(end_point: str, access_key: str, secret_key: str, bucket: str, remote_path: str, local_path: str): try: _end_point = end_point.replace('https://', '').replace('http://', '') # 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。 auth = oss2.Auth(access_key, secret_key) # yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。 # 填写Bucket名称。 bucket = oss2.Bucket(auth, _end_point, bucket) # 填写Object完整路径和本地文件的完整路径。Object完整路径中不能包含Bucket名称。 # 如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件。 bucket.put_object_from_file(remote_path, local_path) except S3Error as e: print( "*** oss上传文件异常 -> {} {}".format(str(e), traceback.format_exc())) raise Exception("oss上传文件异常:[{}]".format(str(e)))
代码说明:
1、参数分别为endpoint(IP或者域名:端口)、accessKey、secretKey、桶名、远程文件路径、本地文件路径。
补充
Python实现Minio的下载(主要用于异地备份的中转站)
import loggingfrom minio import Miniofrom minio.error import S3Errorlogging.basicConfig( level=logging.INFO, filename='../mysqlbackup_downlaod.log', filemode='a', format='%(asctime)s %(name)s %(levelname)s--%(message)s')file_name = "mysql_monitor.py"file_path = "C:\\Users\\lpy\\Desktop\\img\\{}".format(file_name)def download_file(): # 创建一个客户端 minioClient = Minio( 'minio.***.com', access_key='admin', secret_key='****', secure=False ) try: minioClient.fget_object( bucket_name="backup", object_name="mysql/dev/{}".format(file_name), file_path=file_path ) logging.info("file '{0}' is successfully download".format(file_name)) except S3Error as err: logging.error("download_failed:", err)if __name__ == '__main__': download_file()
"Python怎么实现上传Minio文件"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
文件
路径
代码
内容
名称
更多
用户
知识
实用
学有所成
接下来
中转站
剑客
参数
困境
地域
域名
备份
实际
客户
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
那坡县网络安全和信息化中心
购物软件开发理念
档案数据库
共创网络安全在行动
软件开发人员工作职责
数据库应用参考文献网站
视图的画法数据库
plc通讯网络技术及应用
公司员工网络安全意识
做棋牌游戏用什么软件开发
超市数据库管理系统代码
spring查找所有服务器实例
相城区网络技术咨询报价
软件开发的组织形式
怎么查找自己的网络安全密钥
软件开发培训学校西
戴尔服务器日志
管理服务器含监控平台软件
网络安全威胁可以分为两大类
服务器电子邮箱件
学习网络技术的收获
东信网络技术有限公司待遇
ftp服务器优点
万人服务器多少钱一台
刺激战场有服务器维修中怎么办
dns 配置 服务器
网络安全手抄抄报幼儿园
维护网络安全内容建设管理
数据库系统减少了数据冗余对不对
行业数据 软件开发