使用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系列之教你如何根据图片生成字符画
May 23 Python
Python中endswith()函数的基本使用
Apr 07 Python
pygame学习笔记(2):画点的三种方法和动画实例
Apr 15 Python
使用Python的Zato发送AMQP消息的教程
Apr 16 Python
使用Python脚本将文字转换为图片的实例分享
Aug 29 Python
python3 shelve模块的详解
Jul 08 Python
python 定时器,实现每天凌晨3点执行的方法
Feb 20 Python
python实现电子产品商店
Feb 26 Python
Python实现FM算法解析
Jun 18 Python
Numpy中对向量、矩阵的使用详解
Oct 29 Python
关于初始种子自动选取的区域生长实例(python+opencv)
Jan 16 Python
python如何实现单链表的反转
Feb 10 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
无刷新动态加载数据 滚动条加载适合评论等页面
2013/10/16 PHP
php递归获取目录内文件(包含子目录)封装类分享
2013/12/25 PHP
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
2014/09/06 PHP
PHP中执行cmd命令的方法
2014/10/11 PHP
PHP使用new StdClass()创建空对象的方法分析
2017/06/06 PHP
DOM 中的事件处理介绍
2012/01/18 Javascript
nodejs读取memcache示例分享
2014/01/02 NodeJs
使用GruntJS构建Web程序之Tasks(任务)篇
2014/06/06 Javascript
15个jquery常用方法、小技巧分享
2015/01/13 Javascript
解析JavaScript的ES6版本中的解构赋值
2015/07/28 Javascript
jQuery控制DIV层实现由大到小,由远及近动画变化效果
2015/10/09 Javascript
Js的Array数组对象详解
2016/02/22 Javascript
JQuery 两种方法解决刚创建的元素遍历不到的问题
2016/04/13 Javascript
JS及JQuery对Html内容编码,Html转义
2017/02/17 Javascript
解决webpack打包速度慢的解决办法汇总
2017/07/06 Javascript
JavaScript函数中的this四种绑定形式
2017/08/15 Javascript
Vue $emit $refs子父组件间方法的调用实例
2018/09/12 Javascript
详解IOS微信上Vue单页面应用JSSDK签名失败解决方案
2018/11/14 Javascript
vue实现抖音时间转盘
2019/09/08 Javascript
Jquery Datatables的使用详解
2020/01/30 jQuery
vue中destroyed方法的使用说明
2020/07/21 Javascript
Element Breadcrumb 面包屑的使用方法
2020/07/26 Javascript
利用 Chrome Dev Tools 进行页面性能分析的步骤说明(前端性能优化)
2021/02/24 Javascript
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
Python删除n行后的其他行方法
2019/01/28 Python
python 设置输出图像的像素大小方法
2019/07/04 Python
Django模板Templates使用方法详解
2019/07/19 Python
python脚本监控logstash进程并邮件告警实例
2020/04/28 Python
解决Keyerror ''acc'' KeyError: ''val_acc''问题
2020/06/18 Python
Pycharm在指定目录下生成文件和删除文件的实现
2020/12/28 Python
美国最大婚纱连锁店运营商:David’s Bridal
2019/03/12 全球购物
门卫人员岗位职责
2013/12/24 职场文书
银行安全保卫工作总结
2015/08/10 职场文书
2015年文秘个人工作总结
2015/10/14 职场文书
小学科学课教学反思
2016/02/23 职场文书
微信小程序用户授权最佳实践指南
2021/05/08 Javascript