Python 刷db數據入ElasticSearch

本文主要是分享如何將db數據刷入到ES中,步驟很是的簡單。
分爲兩步:
第一步是鏈接數據庫,獲取到要匹配的數據。
第二步是調用對應的寫ES的接口。python


導入第三方庫
mysql

#導入第三方庫import pymysqlimport requests
#數據配置定義的一個字典ars3_dicts={ "HOST" : 'l-test.beta', "PORT" : 3306, "USER": 'test', "PASSWORD" : 'test123', "NAME":"entity_0"}


執行sql方法
sql

#執行sql方法def executesql(query): try: conn = pymysql.connect(ars3_dicts['HOST'], ars3_dicts['USER'], ars3_dicts['PASSWORD'], ars3_dicts['NAME'], int(ars3_dicts['PORT']),charset='utf8') cursor = conn.cursor() cursor.execute(query) result =cursor.fetchall() print(result) print("execute successfully!!!") return list(result) except Exception as e: print(e) print("execute failed") finally: cursor.close() conn.close()


執行寫ES的方法
數據庫

#執行寫ES的方法def insertES(): sql="SELECT entity_id FROM entity_1.`entity_main_0`;" #從數據庫中提供要的數據 alist=executesql(sql) for i in range(len(alist)): id=alist[i][0] if(str(id).startswith("3")): url="http://10.7.36.35:9092/api/profile/backdoor/refreshEsData?arsProfileIds="+str(id) #此處是由開發提供的接口 print(url) response=requests.get(url) print(response.text)


入口方法
windows

#入口方法if __name__ == '__main__': inseertES()


請求後打印的信息以下圖所示:api


總結:當測試環境的db被另外一個環境的db覆蓋時,所對應的ES 裏面的數據也是要同步進行覆蓋的,本文是經過查詢db中的數據,而後調用開發開放的接口進行的初始化,這樣就能夠保障頁面檢索的數據與db 是一致的。bash


友情提示:「無量測試之道」原創著做,歡迎關注交流,禁止第三方不顯示文章來源時轉載。更多原創文章請掃碼關注查看,交流與合做請聯繫:loadkernel@126.com。微信

QQ技術交流羣:41564936框架

Python 實現Excel自動化辦公《上》學習

Python 實現Excel自動化辦公《中》

Python 實現Excel自動化辦公《下》

Python API自動化測試實操

Python 測試框架之 Unittest & Pytest

Python 爬蟲之Scrapy《下》

Python 爬蟲之Scrapy《中》

Python 一招搞定禪道提交bug

windows下ElasticSearch學習(一)

Python 如何測試WebService接口

Windows下ElasticSearch學習(二)

Git 必知必會《下》


本文分享自微信公衆號 - 無量測試之道(gh_858a1aa25a6d)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索