【Web系列十九】Django连接MinIO数据库

官方文档

Python Client API文档 | Minio中文文档

踩坑记录

官方文档中介绍的还挺清楚的,但是其中有一些坑,这边记录一下。

导入类

高版本的MinIO依赖中已经不使用ResponseError了

from minio.error import ResponseError

会有如下报错

ImportError cannot import name 'ResponseError'

只要改成如下形式就行了

from minio.error import S3Error

SSL

我这边的url是https://10.30.5.170:3003/,连接代码如下

minioClient = Minio("10.30.5.170:3003", access_key="admin", secret_key="admin123456")

官方文档的说明如下

参数

类型

描述

endpoint

string

S3兼容对象存储服务endpoint。

access_key

string

对象存储的Access key。(如果是匿名访问则可以为空)。

secret_key

string

对象存储的Secret key。(如果是匿名访问则可以为空)。

secure

bool

设为True代表启用HTTPS。 (默认是True)。

region

string

设置该值以覆盖自动发现存储桶region。 (可选,默认值是None)。

http_client

urllib3.poolmanager.PoolManager

设置该值以使用自定义的http client,而不是默认的http client。(可选,默认值是None)。

但是这样写可能也会报错

urllib3.exceptions.MaxRetryError:HTTPSConnectionPool(host='10.30.5.170', port=3003): Max retries exceeded with url: / (Caused by SSLError(1, '[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c1131)')))

这里需要加上secure=False就行了,和官网里写的相反

minioClient = Minio("10.30.5.170:3003", access_key="admin", secret_key="admin123456", secure=False)

参考资料

Python Client API文档 | Minio中文文档

猜你喜欢

转载自blog.csdn.net/Nichlson/article/details/128630107