Python怎么实现上传Minio文件
发表于:2024-11-30 作者:千家信息网编辑
千家信息网最后更新 2024年11月30日,本篇内容介绍了"Python怎么实现上传Minio文件"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
千家信息网最后更新 2024年11月30日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安全错误
数据库的锁怎样保障安全
江苏网络软件开发诚信合作
计算机服务器基本架构
全网最火的小说9.9分服务器
网站怎么关联数据库
数据库系统及应用实验报告
软件开发进度表
全国中小学教师网络安全平台
青岛一诺网络技术有限责任公司
海信电视连接不了云端服务器
衢州海猪网络技术中心
江阴服务器
食医互联网科技南京有限公司
pxc数据库如何提高性能
数据库如何随便更改表格信息
慧友门禁服务器
有线网络安全管理办法
数据库防火墙厂家
网络安全类的毕业设计题目
日本needs数据库
学软件开发 年龄
软件开发没有美工怎么办
德州公安网络安全保卫支队高峰
吃鸡大逃杀连不上服务器
软件找不到内网服务器什么原因
软件开发及摊销如何做账
什么是软件开发服务费
c语言服务器是什么
网络安全靠你哦
怎么表示数据库
互联网科技与传统产业融合发展