ElasticSearch Py的异步后端

elasticsearch-async的Python项目详细描述


这是用于elasticsearch-py的适配器,它基于 python的asyncio模块。现在所有的api调用都返回一个未来的包装 回应。

嗅探(在请求时)也可以通过预定的协程来完成。

python 3.5+示例

importasynciofromelasticsearch_asyncimportAsyncElasticsearchclient=AsyncElasticsearch(hosts=['localhost','other-host'])asyncdefprint_info():info=awaitclient.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的示例

importasynciofromelasticsearch_asyncimportAsyncElasticsearchclient=AsyncElasticsearch(hosts=['localhost','other-host'])@asyncio.coroutinedefprint_info():info=yield fromclient.info()print(info)loop=asyncio.get_event_loop()loop.run_until_complete(print_info())loop.run_until_complete(client.transport.close())loop.close()

带有ssl上下文的示例

importasynciofromelasticsearch_asyncimportAsyncElasticsearchfromelasticsearch.connection.http_urllib3importcreate_ssl_contextcontext=create_ssl_context(cafile="/certs/ca/ca.crt")client=AsyncElasticsearch(hosts=['elasticsearch-xpack'],ssl_context=context,http_auth=('elastic','changeme'))@asyncio.coroutinedefprint_info():info=yield fromclient.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版(以下简称“许可证”)授权; 除非符合许可证,否则您不能使用此文件。 您可以在

http://www.apache.org/licenses/LICENSE-2.0

除非适用法律要求或书面同意,否则软件 根据许可证分发是按“原样”分发的, 无任何明示或默示的保证或条件。 有关管理权限的特定语言和 许可下的限制。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java数据未插入SQLite数据库   Java中内存有效的对象创建   java在方法内部使用“this”(不用于调用方法、构造函数或变量)   java为什么这里会出现NullPointerException?   在REST中使用HATEOAS导致的java循环依赖   java如何定制spring boot横幅?   Java数字基数计算器(即基数10到基数5)   如果在Kotlin vs Java中声明,用作全局上下文的安卓 MainApplication类将崩溃   用于过滤对象的Java lambda函数   java从字符串数组中获取整数列表   java为什么Maven找不到org。json JPMS自动模块?   java将字符串数组转换为int   仅当与阈值字节匹配时,java才会在映射中填充字符串值