未提供项目说明
hamb的Python项目详细描述
HAMB入门
本地设置
建议使用以下步骤设置虚拟环境进行开发:
python3 -m venv <virtual env name>
source <virtual env name>/bin/activate
pip install -r requirements.txt
or
pip install hamb
将凭据本地保存到项目目录中的etl.cfg文件。{tt2根目录中提供的{tt2}。在
目录结构
默认情况下,它将查找清单文件夹,etl.cfg公司以及服务.yaml在当前工作目录中。在
^{pr2}$舱单
这是关于测试集的元数据,包括要运行的sql和诊断查询。清单文件存储在 /manifests
服务
services.yaml这是一个全局配置,用于存储出站通信详细信息。 基本上,它说明了对于给定的场景,将使用什么处理程序,以及使用什么目标。在
处理程序
测试结果会打印出来,但处理程序可用于其他通知方式。 请参阅/hamb/handlers/。在
email_handler
sftp_handler
slack_handler
sql_compo_list
sql_comp
watch_file_handler
jenkins_handler
sns_handler
执行漫游
- 对于给定的清单(测试集),将从命令行执行HAMB:hamb -m sample_compare
- 它将把测试从相应的清单文件读入Python对象
- 然后它将循环执行每个测试
- 对于每个测试,它将执行适当的插件
- 将收集每个测试的结果,然后按照中的配置服务.yaml将调用适当的处理程序
- 基于服务元数据,将使用该服务的参数(电子邮件列表、sns主题等)调用适当的处理程序
去吧,写下你自己的,试试看。。在
示例
比较两个列表,其中列表相同时成功,不同时失败。在
尝试运行hamb -m sample_compare或python -m hamb.module -m sample_compare
Examples:
a. when lists are the same
'script_a_result': [a, b, c]
'script_b_result': [a, b, c]
'status': 'success'
'diff': None
b. when only a few elements are similar
'script_a_result': [a, b, c]
'script_b_result': [a, b]
'status': 'failure'
'diff': [c]
c. when one list is empty
'script_a_result': [a, b, c]
'script_b_result': []
'status': 'failure'
'diff': [a, b, c]
d. when lists have completely different elements
'script_a_result': [a, b, c]
'script_b_result': [d, e, f]
'status': 'failure'
'diff': [a, b, c, d, e, f]
如果清单在另一个文件夹中,您可以提供绝对路径
hamb -m /path/to/sample_compare
如果要使用AWS secrets,只需包含–config secret_manager param。在
hamb -m sample_compare --config secret_manager
Hamb还支持将结果记录到数据库中。若要使用此功能,请包括-t<;your\u database\u table>;。 请参见示例表架构的:/hamb/ham_run_utility.py:save_db_log()方法。在
hamb -m sample_compare --t public.hambot_history
测试
要运行测试套件,需要以下命令:
pip install -r requirements-dev.txt
tox
or
python -m unittest discover tests
文件
HAMB文档由Sphinx提供支持,这是一个使文档更简单的工具。在
在本地生成文档
cd docs
make html
要查看HAMB文档,请打开/docs/_build/html/index.html。在
如果要进行更改,请编辑README.rst,然后再次生成文档。在
- 项目
标签: