官方文档
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)