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


Posted in Python onApril 16, 2015

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

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

 图形界面

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

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

使用Python的Zato发送AMQP消息的教程使用Python的Zato发送AMQP消息的教程 总而言之,创建一个新连接和写一段前面所示的代码后,就可以热部署来发送AMQP消息了。
其它方式的配置

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

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

Python 相关文章推荐
简介Python设计模式中的代理模式与模板方法模式编程
Feb 02 Python
利用Python如何生成随机密码
Apr 20 Python
python3中dict(字典)的使用方法示例
Mar 22 Python
用tensorflow构建线性回归模型的示例代码
Mar 05 Python
Python计算一个点到所有点的欧式距离实现方法
Jul 04 Python
详解python中的模块及包导入
Aug 30 Python
Pytorch 实现数据集自定义读取
Jan 18 Python
pytorch masked_fill报错的解决
Feb 18 Python
Python unittest如何生成HTMLTestRunner模块
Sep 08 Python
python logging模块的使用详解
Oct 23 Python
python反爬虫方法的优缺点分析
Nov 25 Python
OpenCV+python实现膨胀和腐蚀的示例
Dec 21 Python
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
Apr 16 #Python
使用Python编写一个简单的tic-tac-toe游戏的教程
Apr 16 #Python
Python基于scrapy采集数据时使用代理服务器的方法
Apr 16 #Python
在Python的gevent框架下执行异步的Solr查询的教程
Apr 16 #Python
使用Python的Treq on Twisted来进行HTTP压力测试
Apr 16 #Python
Python3中多线程编程的队列运作示例
Apr 16 #Python
使用Python脚本操作MongoDB的教程
Apr 16 #Python
You might like
日本收入最高的漫画家:海贼王作者版税年收入高达8.45亿元
2020/03/04 日漫
PHPMailer邮件类利用smtp.163.com发送邮件方法
2008/09/11 PHP
php动态添加url查询参数的方法
2015/04/14 PHP
thinkPHP5 tablib标签库自定义方法详解
2017/05/10 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
JavaScript Timer实现代码
2010/02/17 Javascript
jQuery 打造动态渐变按钮 详细图文教程
2010/04/25 Javascript
理解Javascript_08_函数对象
2010/10/15 Javascript
jQuery之选择组件的深入解析
2013/06/19 Javascript
JS中数组Array的用法示例介绍
2014/02/20 Javascript
jquery自动填充勾选框即把勾选框打上true
2014/03/24 Javascript
node.js中的fs.symlink方法使用说明
2014/12/15 Javascript
JavaScript中的object转换成number或string规则介绍
2014/12/31 Javascript
JS实现往下不断流动网页背景的方法
2015/02/27 Javascript
浅谈使用MVC模式进行JavaScript程序开发
2015/11/10 Javascript
jQuery实现点击表格单元格就可以编辑内容的方法【测试可用】
2016/08/01 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
基于cookie实现zTree树刷新后展开状态不变
2017/02/28 Javascript
带你了解session和cookie作用原理区别和用法
2017/08/14 Javascript
详解JS中的柯里化(currying)
2017/08/17 Javascript
JS实现关键词高亮显示正则匹配
2018/06/22 Javascript
KOA+egg.js集成kafka消息队列的示例
2018/11/09 Javascript
javascript实现评分功能
2020/06/24 Javascript
横向对比分析Python解析XML的四种方式
2016/03/30 Python
python的mysqldb安装步骤详解
2017/08/14 Python
Python 使用类写装饰器的小技巧
2018/09/30 Python
Python构建图像分类识别器的方法
2019/01/12 Python
详解Python字符串切片
2019/05/20 Python
Python使用指定字符长度切分数据示例
2019/12/05 Python
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
Java的五个基础面试题
2016/02/26 面试题
一道Delphi上机题
2012/06/04 面试题
优秀信贷员先进事迹
2014/01/31 职场文书
2015年乡镇平安建设工作总结
2015/05/13 职场文书
离婚答辩状范文
2015/05/22 职场文书
深度学习详解之初试机器学习
2021/04/14 Python