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

python操作minio中常见错误

因为我参考minio的文档操作,当时文档并不是很详细,这篇博文会统一记录自己所遇到的问题。以下的每个标题都是具体的错误信息。
minio-py文档

错误1:SSL: WRONG_VERSION_NUMBER

这个错误的原因是在创建minio的客户端时候没有关闭SSL,请使用如下的代码:

    minio_client = Minio(endpoint=file_settings.ENDPOINT,access_key=file_settings.ACCESS_KEY,secret_key=file_settings.SECRET_KEY,secure=False, # 加上即可解决错误)

错误2:path in endpoint is not allowed

因为在官网使用的是minio的playground,而不是本地的这样连接方法,因此如果你的endpoint是http://127.0.0.1:9000,就会报错,正确的endpoint地址应该是127.0.0.1:9000

错误3:S3 giving me NoSuchKey error even when the key exists

这个错误有点误导性,观察Key会以为是自己的access_key,secret_key的问题,但是并不是,实际上,文件的名称被称为Object Key,即对象箭,所以请再次检查你的文件名是否正确,比如我的文件名因为涉及文件夹,所以会很复杂,可以尝试打印出具体source object,检查地址是否和web页面上的地址一致。

错误4:‘utf-8’ codec can’t decode byte 0xa1 in position 10: invalid start byte

我的minio中的文件是一个pdf,我想要获取其中的文字,原始的代码,即从response中读取数据,如下:

# Get document from minio server
response = minio_client.get_object(bucket_name="file",object_name="1768107746265141248/3hpLARbrpT1dYEp83zscg2l4X1VYCYkXxKQHs1c7bjQ=/1768176834878382080")
# Read data directly from the response
data = response.data.decode()

注意默认的解析方式是utf-8,也可以尝试其它的编码方式,但是无论尝试其它任何的编码,似乎都无法成功。需要注意的是,获取的是文件,因此应该将其转换为io流,然后读取其中的文字代码应当如下:

response = minio_client.get_object(bucket_name="file",object_name="1768107746265141248/3hpLARbrpT1dYEp83zscg2l4X1VYCYkXxKQHs1c7bjQ=/1768176834878382080")
# Write response data to memory stream
data_stream = io.BytesIO(response.read())
pdf_file = fitz.open(stream=data_stream, filetype="pdf")
# Traverse each page
page_text = ""
for page_index in range(len(pdf_file)):page = pdf_file[page_index]page_text = page_text + page.get_text()
print(page_text)
http://www.lryc.cn/news/342232.html

相关文章:

  • SpringCloud-Seata分布式事务的环境搭建搭建
  • ChatGPT4 Turbo 如何升级体验?官网如何使用最新版GPT-4 Turbo?
  • 如何利用工作流自定义一个AI智能体
  • 嵌入式学习day12
  • 【Leetcode 42】 接雨水-单调栈解法
  • Python 贪吃蛇
  • 计算机网络 2.4差错检验与校正
  • uniapp遍历数组对象的常见方法
  • Milvus向量数据库(一)Milvus存储byte[]类型源向量数据
  • Jupyter Notebook魔术命令
  • python基础---生成器
  • wangEditor 富文本详解
  • 文献速递:深度学习医学影像心脏疾病检测与诊断--从SPECT/CT衰减图中深度学习冠状动脉钙化评分提高了对重大不良心脏事件的预测
  • Java多线程:常见的线程的创建方法及Thread类详解
  • 一招搞定生产管理
  • 学习CSS3,实现红色心形loading特效
  • 深度学习之基于Matlab神经网络的活体人脸和视频人脸识别系统
  • 充电桩测试:负载箱的重要性
  • 贪心算法、Dijkstra和A*类路径搜索算法
  • Debian是什么?有哪些常用命令
  • 万兴PDF专家 PDFelement Pro v10.3.8 破姐版!
  • Ubuntu22.04 私钥登录
  • Java_JVM_JVMs
  • Linux系统编程之基本指令
  • [1702]java旅游资源网上填报系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
  • 【Flask 系统教程 3】请求与响应
  • jsp校园商城派送系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
  • 【Linux】System V 共享内存
  • 拼多多标准推广怎么玩
  • HFSS学习-day2-T形波导的优化设计