使用Python的Zato发送AMQP消息的教程

yipeiwu_com6年前Python基础

本 帮助主题 展示了使用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)


理解连接定义和连接

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

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

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


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

2015416114311025.png (639×311)

 图形界面

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

2015416114351289.png (518×137)2015416114456402.png (645×556)

2015416114541976.png (512×329)2015416114615866.png (703×617) 总而言之,创建一个新连接和写一段前面所示的代码后,就可以热部署来发送AMQP消息了。
其它方式的配置

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

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

相关文章

OpenCV图像颜色反转算法详解

OpenCV图像颜色反转算法详解

前言 图像颜色的反转,比较简单的思路就是使用255减去当前值,从而得到反转后的图像.原始图片: 1.灰度图像的颜色反转 import cv2 import numpy as n...

Python高级property属性用法实例分析

Python高级property属性用法实例分析

本文实例讲述了Python高级property属性用法。分享给大家供大家参考,具体如下: property属性 1.property属性: 是一个提高开发者用户体验度的属性,可以将一个...

python实现的分析并统计nginx日志数据功能示例

本文实例讲述了python实现的分析并统计nginx日志数据功能。分享给大家供大家参考,具体如下: 利用python脚本分析nginx日志内容,默认统计ip、访问url、状态,可以通过修...

如何利用pygame实现简单的五子棋游戏

如何利用pygame实现简单的五子棋游戏

前言 写程序已经丢掉很长一段时间了,最近觉得完全把技术丢掉可能是个死路,还是应该捡起来,所以打算借CSDN来记录学习过程, 由于以前没事的时候断断续续学习过python和用flask框...

python使用xauth方式登录饭否网然后发消息

开发环境:python版本2.X 复制代码 代码如下:#!/usr/bin/env python# -*- coding:utf-8 -*-# 适合python版本:2.X import...