我正在设置扎托用作我们 Web 应用程序的 ESB。我仍然对 ESB 的工作原理以及如何设置有所了解。
我无法通过 ESB 公开 mysql 服务器。有人可以帮我入门吗?
我已经配置了传出连接。如何将该连接公开给我的应用程序的其余部分?
答案1
一旦连接到 SQL 数据库,你就可以通过“self.outgoing.sql”在 Zato 服务中引用它,就像下面的示例一样,它是从SQL 使用示例从Zato 文档。
在这种特殊情况下,所有行都只是打印到服务器日志中,但您也可以将它们分配给 self.response.payload,例如使用 SimpleIO。
文档中还有其他用法示例。不幸的是,我在 ServerFault 上的声誉显然不足以撰写包含 2 个以上链接的答案。
# stdlib
from contextlib import closing
# Zato
from zato.server.service import Service
class MyService(Service):
def handle(self):
# Always use templates and bind variables
template = 'SELECT name FROM http_soap WHERE data_format=:data_format'
parameters = {'data_format':'json'}
with closing(self.outgoing.sql.get('my-conn').session()) as session:
result = session.execute(template, parameters)
for item in result:
self.logger.info(item)