跳转到主要内容

Elasticsearch客户端构建器,包括模式验证

项目描述

https://es-client.readthedocs.io/

您可能会好奇这个项目为何存在,因为乍一看它似乎并没有让使用elasticsearch8 Python模块建立客户端连接变得更简单。我需要能够重用我正在使用的更复杂的模式验证部分,即

  • 仅主检测

  • Elasticsearch版本检查和验证,以及跳过此操作的选项。

  • 配置值验证,包括SSL证书的文件路径,这意味着

    • 不接受未知密钥或不可接受的参数值

    • 建立可接受的值和范围(如果已知)——并且如果需要,可以轻松修改。

因此,如果您不需要这些功能,那么这个库可能不是您要找的。如果您需要这些功能,那么您来对了地方。

示例用法

from es_client import Builder

config = {
    'elasticsearch': {
        'client': {
            'hosts': 'https://10.0.0.123:9200',
            'ca_certs': '/etc/elasticsearch/certs/ca.crt',
            'request_timeout': 60,
        },
        'other_settings': {
            'master_only': false,
            'username': 'joe_user',
            'password': 'password',
        }
    },
    'logging': {
        'loglevel': 'INFO',
        'logfile': '/path/to/file.log',
        'logformat': 'default',
    }
}

builder = Builder(configdict=config)

try:
    builder.connect()
except:
    # Do exception handling here...

client = builder.client

此外,您还可以从YAML配置文件中读取

---
elasticsearch:
  client:
    hosts: https://10.0.0.123:9200
    ca_certs: /etc/elasticsearch/certs/ca.crt
    request_timeout: 60
  other_settings:
    master_only: false
    username: joe_user
    password: password
logging:
  loglevel: INFO
  logfile: /path/to/file.log
  logformat: default
from es_client import Builder

builder = Builder(configfile='/path/to/es_client.yml')

try:
    builder.connect()
except:
    # Do exception handling here...

client = builder.client

这里也适用相同的模式验证。

项目详情


下载文件

下载适合您平台文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分发

es_client-8.15.2.tar.gz (37.2 kB 查看哈希值)

上传时间

构建分发

es_client-8.15.2-py3-none-any.whl (34.5 kB 查看哈希值)

上传时间 Python 3

由以下组织支持

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面