首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何捕获到minIO服务器的连接问题?

如何捕获到minIO服务器的连接问题?
EN

Stack Overflow用户
提问于 2020-11-14 17:24:13
回答 2查看 3.8K关注 0票数 2

我试图在Python客户机上捕获minio (minio包)的身份验证错误:

代码语言:javascript
复制
from minio import Minio
from minio.error import MinioError, ResponseError

## Data Lake (Minio)
try :
    minioClient = Minio(endpoint= config['databases']['datalake']['hostip']+":"+config['databases']['datalake']['port'],
                access_key= config['databases']['datalake']['accesskey'],
                secret_key= config['databases']['datalake']['secretkey'],
                secure= False)

    app.logger.info("MinIO Server Connected!")

except MinioError as e:
    app.logger.info("Could not connect to MinIO Server")

当使用假(错误)can时,我似乎无法捕获身份验证错误。总是传球..。对于如何解决这些问题,有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-02-03 12:10:31

Minio()只创建一个对象,而不连接到服务器。因此,对象创建也可以使用假凭据或假urls和param,因为该对象暂时不用于连接某个地方。您的异常处理只会尝试捕获简单python对象创建所引发的错误。

为了检查连接性,我尝试连接到一个不存在的桶。如果我收到一条错误消息,一切都很好,如果有超时,您可以捕获它并记录它。(您也可以尝试连接到现有的桶,但这增加了检查创建/到达此桶或存储时是否存在错误的复杂性)

代码语言:javascript
复制
#create object

client = Minio(
    host,
    access_key=user,
    secret_key=pass,
    more_access_data=...
)

# reach storage
try:
    if not client.bucket_exists("nonexistingbucket"):
        logging.debug("Object storage connected")
except:
    # raise error if storage not reachable
    logging.critical("Object storage not reachable")
票数 1
EN

Stack Overflow用户

发布于 2021-07-27 10:16:42

如上所述:

为了检查

的连通性,我尝试连接到一个不存在的桶。

我不认为这是直观的,为什么不使用list_buckets()来代替,例如:

代码语言:javascript
复制
from urllib3.exceptions import MaxRetryError

self.config = {
    "endpoint": "localhost:9000",
    "access_key": "minioadmin",
    "secret_key": "minioadmin",
    "secure": False,
    "http_client": urllib3.PoolManager(
        num_pools=10,
        )
    }

try:
    self.client = Minio(**self.config)
    self.client.list_buckets()
except MaxRetryError:
    logging.critical("Object storage not reachable")

重要的是,如果Minio不存在,取决于应用程序的上下文,启动时间将比通常要长一些。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64836591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档