未提供项目说明

hamb的Python项目详细描述


HAMB入门

Pypi VersionBuild StatusDocumentation Status

本地设置

建议使用以下步骤设置虚拟环境进行开发:

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_comparepython -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.pysave_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,然后再次生成文档。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
二进制字符串的java NumberFormatExceprion   java如何在Neo4j中查找/匹配/选择标识符名称   java哪一年的日期与原始年份相同?   java什么时候JAXB可以用于Json而不是XML?   java使用PayPal权限API进行PayPal支付   java Getting error在使用安卓 vision api扫描二维码时加载图像失败   java直接突出显示RichTextFX中的一个文本范围   java Resolve@RegisteredAuth2AuthorizedClient,其令牌在spring Security 5.2的spring server之外获得。十、   yyyymmddhhmmss的Java正则表达式   java我试图将google recaptcha与spring mvc集成,但GreCaptCharResponse总是返回false。这里有一些代码   java使用JsonPath将文本转换为json   java无法解析符号。Maven依赖项已就位,但代码为红色   java使用循环查找范围内具有不同数字的数字   java这个SwingWorker是否不重用ThreadPoolExecutor中的线程?