当前位置: 首页 > article >正文

rabbitmq + minio +python 上传文件

功能实现

  1. RabbitMq接收hello里面传来的消息
  2. 根据消息在 MobileFile里面新建文件
  3. 新建文件上传到minio

python 新建文件

import  os  
  
path = './MobileFile'  
  
file_path = os.path.join(path,"new_file.txt")  
  
with open(file_path, "w") as file:  
    pass

转换成函数格式

import  os  
def createfile(filename):  
    path = '.\\MobileFile'  
    file_path = os.path.join(path,f"{filename}")  
    print(file_path)  
    with open(file_path, "w") as file:  
        pass

minio上传文件函数

def upfile(body):  
    # 上传的文件 
    source_file = f"./MobileFile/{body}"  
    # The destination bucket and filename on the MinIO server  
    bucket_name = "python-test-bucket"  
    destination_file = f"{body}"  
  
    # 如果桶不存在就新建
    found = client.bucket_exists(bucket_name)  
    if not found:  
        client.make_bucket(bucket_name)  

	# 上传文件
    client.fput_object(  
        bucket_name, destination_file, source_file,  
    )  
    print(  
        source_file, "successfully uploaded as object",  
        destination_file, "to bucket", bucket_name,  
    )

rabbitMq消息问题

rabbitMq传送过来的消息是字节,我们要进行一个字节的转换

字节转换函数

def typechangetoNomal(body):  
	strbody = str(body)
    return body[2:len(body)-1]

原理,打印出来的是 b’body’
我们只需要打印出body即可,也就是说,转换成字符串之后选取第三个到最后第二个就行。

callBack函数(即收到消息执行的函数)

def callback(ch, method, properties, body):  
    body = typechangetoNomal(body)  
  
    # print(newbody)  
    #新建文件夹 已完成  
    myFileController.createfile(body)  
    #上传到minio里面  
    myMinio.upfile(body)

问题发现

python文件名如果带数字就import出现问题


http://www.kler.cn/a/611276.html

相关文章:

  • 赛氪网与深蓝睿思亮相北京房山区科技节,以AI点燃青少年创新热情
  • Maven工具学习使用(三)——坐标和依赖
  • Flutter 弹窗封装:支持多种常见弹框,灵活易用
  • React-nodejs 练习 个人博客
  • Es结合kibana查询
  • Docker容器之Dockerfile
  • CosyVoice2在Windows系统上本地部署的详细步骤
  • LlamaFactory部署及模型微调【win10环境】
  • 如何分析和解决服务器的僵尸进程问题
  • Spring Boot 连接 MySQL 配置参数详解
  • 使用ucharts写的小程序,然后让圆环中间的空白位置变大
  • Django之旅:第六节--mysql数据库操作增删改查(二)
  • 网络编程和计算机网络五层模型的关系
  • 日语Learn,英语再认识(4)
  • Docker 数据卷与文件挂载
  • pyqt SQL Server 数据库查询-优化
  • 根据模板将 Excel 明细数据生成 PDF 文档 | PDF实现邮件合并功能
  • MyBatis打印SQL日志的配置
  • 英伟达黄仁勋谈人工智能趋势,首提代理式AI,后续机器人将登场
  • 算法及数据结构系列 - 滑动窗口