使用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中__new__与__init__方法的区别详解
May 04 Python
视觉直观感受若干常用排序算法
Apr 13 Python
TensorFlow如何实现反向传播
Feb 06 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
Dec 15 Python
Python 输出时去掉列表元组外面的方括号与圆括号的方法
Dec 24 Python
Python 虚拟空间的使用代码详解
Jun 10 Python
pandas分区间,算频率的实例
Jul 04 Python
Python Web框架之Django框架Form组件用法详解
Aug 16 Python
python日志模块logbook使用方法
Sep 19 Python
python读取与处理netcdf数据方式
Feb 14 Python
pytorch之Resize()函数具体使用详解
Feb 27 Python
Python实现曲线拟合的最小二乘法
Feb 19 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
PHP调用三种数据库的方法(2)
2006/10/09 PHP
PHP实现获取FLV文件的时间
2015/02/10 PHP
php输入数据统一类实例
2015/02/23 PHP
以文件形式缓存php变量的方法
2015/06/26 PHP
thinkPHP导出csv文件及用表格输出excel的方法
2015/12/30 PHP
Thinkphp5.0框架使用模型Model的获取器、修改器、软删除数据操作示例
2019/10/11 PHP
基于jquery的一个OutlookBar类,动态创建导航条
2010/11/19 Javascript
JS+DIV实现鼠标划过切换层效果的实例代码
2013/11/26 Javascript
Angularjs制作简单的路由功能demo
2015/04/14 Javascript
JS模式之单例模式基本用法
2015/06/30 Javascript
Js 获取、判断浏览器版本信息的简单方法
2016/08/08 Javascript
js 用于检测类数组对象的函数方法
2017/05/02 Javascript
Angularjs修改密码的实例代码
2017/05/26 Javascript
Vue2.2.0+新特性整理及注意事项
2018/08/22 Javascript
vue实现div拖拽互换位置
2020/07/29 Javascript
重学 JS:为啥 await 不能用在 forEach 中详解
2019/04/15 Javascript
jquery-ui 进度条功能示例【测试可用】
2019/07/25 jQuery
vuex + keep-alive实现tab标签页面缓存功能
2019/10/17 Javascript
微信小程序全选多选效果实现代码解析
2020/01/21 Javascript
浅谈vue单页面中有多个echarts图表时的公用代码写法
2020/07/19 Javascript
[02:26]2018DOTA2亚洲邀请赛赛前采访-Newbee篇
2018/04/03 DOTA
详解Python的Django框架中inclusion_tag的使用
2015/07/21 Python
Python模拟百度登录实例详解
2016/01/20 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
python+pyqt实现12306图片验证效果
2017/10/25 Python
python利用smtplib实现QQ邮箱发送邮件
2020/05/20 Python
Python Pandas批量读取csv文件到dataframe的方法
2018/10/08 Python
pytorch masked_fill报错的解决
2020/02/18 Python
CSS3下的渐变文字效果实现示例
2018/03/02 HTML / CSS
韩国三大免税店之一:THE GRAND 中文免税店
2016/07/21 全球购物
优秀本科生求职推荐信
2014/02/24 职场文书
护士自我鉴定总结
2014/03/24 职场文书
购房意向书
2014/04/01 职场文书
三傻大闹宝莱坞观后感
2015/06/03 职场文书
使用Ajax实现进度条的绘制
2022/04/07 Javascript
mysql中如何用命令创建联合唯一索引
2022/04/20 MySQL