Python 发送 AMQP 消息 已翻译 100%

oschina 投递于 2013/08/06 06:42 (共 3 段, 翻译完成于 08-06)
阅读 3866
收藏 4
0
加载中
帮助主题 展示了使用Zato发送AMQP消息 需的内容. Zato 基于Python SOA 集成 后端 服务 企业服务总线(ESB)

代码演示

下面是一些需要的代码:

from zato.server.service import Service

class MyService(Service):
    def handle(self):
        msg = 'My message'
        conn_name = 'My CRM connection'
        exchange_name = 'My exchange'
        routing_key = ''
        self.outgoing.amqp.send(msg, conn_name, exchange_name, routing_key)

以下是文章内容.

MtrS
翻译于 2013/08/06 08:44
2

理解连接定义和连接

在发送第一个消息之前,你必须让Zato知道要把消息发送到哪儿,因为默认情况下Zato支持分离生成消息的服务和消息送达的实际的目的地。

在你的代码里,你只是调用了单个.send方法,不需要真正地指定特定的URL或者凭证,消息过期时间,内容类型等等。你可以指定这些,不过你不需要。

这一切都通过连接定义和真正的连接来实现的。连接定义是一个说明连接到AMQP代理的所需要的详细信息的模板-代理的网络地址,虚拟主机名,用户名/密码以及类似的东西。每个连接定义可以用来创建一个或者多个处理要发送消息的细节-消息优先权,分发模式以及其他这个消息信息的连接。

几点人
翻译于 2013/08/06 09:54
1

这两种对象类型可以使用Zato的图形界面创建,也可以通过其它方法如enmasse或者API

../images/howto-amqp-sending/def-vs-outconns.png

图形界面

首先创建一个连接定义,然后用它来创建一个对外连接,就像下图所示:

../images/howto-amqp-sending/amqp-def-menu.png ../images/howto-amqp-sending/amqp-def.png ../images/howto-amqp-sending/amqp-conn-menu.png ../images/howto-amqp-sending/amqp-conn.png

总而言之,创建一个新连接和写一段前面所示的代码后,就可以热部署来发送AMQP消息了。

其它方式的配置

相反,或者说另外,使用enmasse工具和API同样可以创建,列出,更新或者删除AMQP连接。并不仅仅局限于图形界面方式。

更多使用示例

请浏览全部API,以及更多AMQP使用示例请查看这里

LianyouCQ
翻译于 2013/08/06 08:42
1
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(2)

crossmix
crossmix
ok
返回顶部
顶部