rabbitmq + minio +python 上传文件

embedded/2025/4/1 17:21:04/

功能实现

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

python__5">python 新建文件

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

转换成函数格式

python">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上传文件函数

python">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传送过来的消息是字节,我们要进行一个字节的转换

字节转换函数

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

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

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

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

问题发现

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


http://www.ppmy.cn/embedded/177298.html

相关文章

RabbitMQ 快速入门

目录 为什么有 RabbitMQ?QueueExchange(消息分发策略)DirectTopicFanoutHeaders 常见的队列类型死信队列 (Dead Letter Queue,DLQ)应用场景定时任务监控与告警消费者拒绝(NACK/Reject&#xff0…

LLM - CentOS上离线部署Ollama+Qwen2.5-coder模型完全指南

文章目录 离线安装OllamaOllama下载Ollama硬件需求Ollama 常用命令参考Ollama安装Ollama 服务管理&开机启动开启局域网访问 Ollama 服务 离线安装模型gguf 文件格式下载Qwen2.5-Coder-7B-Instruct-GGUF格式选择 ( gguf 版本 )构建Modelfile文件加载并运行离线模型测试 集成…

当 0 编程基础,用 ChatGPT 和 Cursor 开发同一应用时… |AI 开发初体验

求人不如求己。 事情是这样的,前段时间,我看了本书,书里介绍了款应用,能计算财富自由价格,还能制定退休计划。 结果,我迫不及待去下载这个应用时,发现这应用功能残缺,完全不可用。 …

Stable Diffusion 基础模型结构超级详解!

1. Transformer 第一个只用 Attention 机制来解决序列到序列问题的模型,最早被 Google 用来解决翻译问题 对于中英翻译而言,需要解决三个具体的问题: 如何用数字表示中文和英文 如何让神经网络理解语义 如何让神经网络生成英文 1.1 Tok…

spring batch 中JpaNamedQueryProvider、JpaNativeQueryProvider两种查询方式对比

完整代码示例:对比两种查询方式 // Employee.java 实体类(包含命名查询) Entity NamedQuery(name "Employee.findAllNamedQuery", query "SELECT e FROM Employee e ORDER BY e.id") // 定义命名查询 public class Em…

数组双指针———解决常见面试算法

数组&#xff1a;线性数据结构的一种。 数组的基础操作-一定要实践&#xff01;初始与边界 单调数组 判断一个给定的数组是否为单调数组 public boolean isMonotonic(int[] nums) {boolean inc true, dec true;int n nums.length;for (int i 0; i < n - 1; i) {if (…

java spring boot 定时任务

Scheduled(cron "0 0 0 * * ?")SchedulerLock(name "ProImpl.sendUserMsg", lockAtMostFor "PT10M", lockAtLeastFor "PT1M")public void sendUserMsg() {} 这段代码是 Spring Boot 中的 定时任务&#xff0c;结合 ShedLock 进行…

锐捷EWEB路由器 timeout.php任意文件上传漏洞(DVB-2025-9003)

免责声明 仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。 一:产品介绍 锐捷EWEB路由器是锐…