我想通过 zato 公开一个 mysql 服务-如何实现?

我想通过 zato 公开一个 mysql 服务-如何实现?

我正在设置扎托用作我们 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)

相关内容