跳转到主要内容

elasticsearch-py的异步后端

项目描述

这是一个为elasticsearch-py提供基于Python的asyncio模块传输层的适配器。所有API调用现在都返回一个封装响应的future。

嗅探(如果请求)也通过计划好的协程来完成。

python 3.5+的示例

import asyncio
from elasticsearch_async import AsyncElasticsearch

client = AsyncElasticsearch(hosts=['localhost', 'other-host'])

async def print_info():
    info = await client.info()
    print(info)

loop = asyncio.get_event_loop()
loop.run_until_complete(print_info())
loop.run_until_complete(client.transport.close())
loop.close()

python 3.4的示例

import asyncio
from elasticsearch_async import AsyncElasticsearch

client = AsyncElasticsearch(hosts=['localhost', 'other-host'])

@asyncio.coroutine
def print_info():
    info = yield from client.info()
    print(info)

loop = asyncio.get_event_loop()
loop.run_until_complete(print_info())
loop.run_until_complete(client.transport.close())
loop.close()

带有SSL上下文的示例

import asyncio
from elasticsearch_async import AsyncElasticsearch
from elasticsearch.connection.http_urllib3 import create_ssl_context

context = create_ssl_context(cafile="/certs/ca/ca.crt")

client = AsyncElasticsearch(
    hosts=['elasticsearch-xpack'],
    ssl_context=context,
    http_auth=('elastic', 'changeme')
)

@asyncio.coroutine
def print_info():
    info = yield from client.info()
    print(info)

loop = asyncio.get_event_loop()
loop.run_until_complete(print_info())
loop.run_until_complete(client.transport.close())
loop.close()

AsyncElasticsearch引入了一个额外的参数loop,可以用来传递客户端希望使用的事件循环。默认情况下将使用asyncio.get_event_loop()

安装

elasticsearch-async 可通过 PyPI 获取,因此您可以使用 pip 进行安装

pip install elasticsearch-async

许可

版权所有 2015 Elasticsearch

根据 Apache 许可证 2.0 版(“许可证”);除非适用法律要求或书面同意,否则不得使用此文件,除非遵守许可证。您可以在以下地址获取许可证副本:

https://apache.ac.cn/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则根据许可证分发的软件按“原样”基础分发,不提供任何形式的明示或暗示保证。有关许可证中规定的具体权限和限制,请参阅许可证。

项目详情


下载文件

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

源代码分发

elasticsearch-async-6.2.0.tar.gz (11.3 kB 查看散列)

上传时间 源代码

构建分发

elasticsearch_async-6.2.0-py2-none-any.whl (8.0 kB 查看散列)

上传时间 Python 2

由以下组织支持