啤酒花园系统的建设和运行公用设施
brewtils的Python项目详细描述
brewtils是用于与beergarden系统接口的python库。如果你打算 写啤酒花园插件,这是正确的图书馆为你。除了编写插件外, 它提供了查询api的简单方法,并且得到了beer garden团队的正式支持。
功能
Brewtils帮助您与啤酒花园互动。
- 创建啤酒花园插件的简单方法
- 全面支持整个啤酒园API
- 啤酒园团队正式支持
安装
要安装brewtils,请在终端中运行此命令:
$ pip install brewtils
或者将其添加到您的requirements.txt
$ cat brewtils >> requirements.txt $ pip install -r requirements.txt
快速启动
你可以创建自己的啤酒花园插件没有太大的问题。首先,我们将创建 必需的hello world插件。创建插件非常简单:
frombrewtils.decoratorsimportsystem,parameter,commandfrombrewtils.pluginimportRemotePlugin@systemclassHelloWorld(object):@parameter(key="message",description="The message to echo",type="String")defsay_hello(self,message="World!"):print("Hello, %s!"%message)return"Hello, %s!"%messageif__name__=="__main__":client=HelloWorld()plugin=RemotePlugin(client,name="hello",version="0.0.1",bg_host='127.0.0.1',bg_port=2337)plugin.run()
假设您在本地主机上的2337端口上运行了一个啤酒花园,那么运行此命令将注册并 启动你的插件!现在你的第一个插件运行在啤酒花园。我们用另一部分 从python中练习插件的brewtils库。
SystemClient旨在帮助您与注册的系统进行交互,就像它们是本机系统一样 python对象。
frombrewtils.rest.system_clientimportSystemClienthello_client=SystemClient('localhost',2337,'hello')request=hello_client.say_hello(message="from system client")print(request.status)# 'SUCCESS'print(request.output)# Hello, from system client!
在后台,SystemClient已使用获取 啤酒园执行你的命令。SystemClient是大多数人与之交互的方式 啤酒花园当他们在python的上下文中并且想要发出请求时。
当然,api的其余部分可以通过brewtils包访问。那EasyClient 提供简单方便的方法来调用api并自动序列化响应。假设你 要获取所有系统上所有命令的列表:
frombrewtils.rest.easy_clientimportEasyClientclient=EasyClient('localhost',2337)systems=client.find_systems()forsysteminsystems:forcommandinsystem.commands:print(command.name)
这只是EasyClient的一小部分。尽情探索 暴露的方法。
有关更详细的信息和更好的演练,请查看完整的文档!
文档
- 完整的啤酒花园文档可在https://beer-garden.io
- brewtils文档可在https://brewtils.readthedocs.io