elasticsearch - 在python函数执行过程中,如何判断并处理其中一条语句的返回值?

 手机用户2502872807 发布于 2022-10-29 15:09

本人在使用elasticsearch自带的python api编写一些日志简单处理之后写入es的python脚本。
比如
def es_write(index_name,type,id,body):

from elasticsearch import Elasticsearch
es = Elasticsearch()
es.create(index=index_name,doc_type=type,id=id,body=body)

es.create就是最基础向es中创建内容的语句。之后就如同在elasticsearch-head或者在linux中使用curl命令对es进行操作后,会返回一个json块。会告诉你,哪些hits被修改,或者有没有修改成功。
如果操作失败,就会在json块中显示timed_out:True,failed:xxx之类的字样
这样就不能用python自带的抛出异常那一套来侦测。我想问下如何在函数中处理这样的内容。如果命令返回的json块中有失败或者超时的字样,就 使用logging打印错误日志之类的。

个人基础确实不太好,我记得python之前有个subprocess相关的模块,可以打开新的线程,但是百度了一下,基本都是执行linux系统命令,并处理其返回值。

1 个回答
  • 这个模块应该也是有返回一个json处理结果的,你可以试下下面语句:

    result = es.create(index=index_name,doc_type=type,id=id,body=body)
    print result
    
    2022-10-30 16:46 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有