久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

elasticsearch - 在python函數(shù)執(zhí)行過程中,如何判斷并處理其中一條語句的返回值?

瀏覽:120日期:2022-07-30 17:50:17

問題描述

本人在使用elasticsearch自帶的python api編寫一些日志簡單處理之后寫入es的python腳本。比如def es_write(index_name,type,id,body):

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

es.create就是最基礎(chǔ)向es中創(chuàng)建內(nèi)容的語句。之后就如同在elasticsearch-head或者在linux中使用curl命令對es進(jìn)行操作后,會返回一個json塊。會告訴你,哪些hits被修改,或者有沒有修改成功。如果操作失敗,就會在json塊中顯示timed_out:True,failed:xxx之類的字樣這樣就不能用python自帶的拋出異常那一套來偵測。我想問下如何在函數(shù)中處理這樣的內(nèi)容。如果命令返回的json塊中有失敗或者超時的字樣,就 使用logging打印錯誤日志之類的。

個人基礎(chǔ)確實不太好,我記得python之前有個subprocess相關(guān)的模塊,可以打開新的線程,但是百度了一下,基本都是執(zhí)行l(wèi)inux系統(tǒng)命令,并處理其返回值。

問題解答

回答1:

這個模塊應(yīng)該也是有返回一個json處理結(jié)果的,你可以試下下面語句:

result = es.create(index=index_name,doc_type=type,id=id,body=body)print result

標(biāo)簽: Python 編程
主站蜘蛛池模板: 长宁县| 盖州市| 乌鲁木齐县| 车致| 吕梁市| 咸阳市| 邯郸县| 旅游| 高邑县| 邵阳县| 郯城县| 大港区| 南汇区| 博白县| 彰武县| 鄱阳县| 德兴市| 磐石市| 隆林| 彝良县| 合川市| 荆州市| 永平县| 美姑县| 永川市| 正宁县| 柳州市| 寿光市| 罗田县| 阳朔县| 乐亭县| 乌拉特前旗| 久治县| 固阳县| 江山市| 枣阳市| 崇义县| 麦盖提县| 望都县| 高碑店市| 滕州市|