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源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索