使用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包的五个简单准则简介
Jun 15 Python
fastcgi文件读取漏洞之python扫描脚本
Apr 23 Python
python 使用值来排序一个字典的方法
Nov 16 Python
Python两台电脑实现TCP通信的方法示例
May 06 Python
解决pycharm 工具栏Tool中找不到Run manager.py Task的问题
Jul 01 Python
python django 原生sql 获取数据的例子
Aug 14 Python
Keras使用tensorboard显示训练过程的实例
Feb 15 Python
python 双循环遍历list 变量判断代码
May 04 Python
Python flask框架实现查询数据库并显示数据
Jun 04 Python
python 实现客户端与服务端的通信
Dec 23 Python
手把手教你用Django执行原生SQL的方法
Feb 18 Python
Python爬虫进阶之Beautiful Soup库详解
Apr 29 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(3) php 函数
2010/02/15 PHP
php与paypal整合方法
2010/11/28 PHP
PHP 如何利用phpexcel导入数据库
2013/08/24 PHP
百度站点地图(百度sitemap)生成方法分享
2014/01/09 PHP
PHP实现对文本数据库的常用操作方法实例演示
2014/07/04 PHP
php数组中删除元素之重新索引的方法
2014/09/16 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
JavaScript中的History历史对象
2008/01/16 Javascript
jquery.fileEveryWhere.js 一个跨浏览器的file显示插件
2011/10/24 Javascript
javascript中xml操作实现代码
2011/11/21 Javascript
jQuery阻止同类型事件小结
2013/04/19 Javascript
关于js遍历表格的实例
2013/07/10 Javascript
Jquery 动态循环输出表格具体方法
2013/11/23 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
Angular的Bootstrap(引导)和Compiler(编译)机制
2016/06/20 Javascript
详解VUE的状态控制与延时加载刷新
2017/03/27 Javascript
bootstrap弹出层的多种触发方式
2017/05/10 Javascript
浅谈JavaScript的innerWidth与innerHeight
2017/10/12 Javascript
Vue2.2.0+新特性整理及注意事项
2018/08/22 Javascript
详解mpvue开发微信小程序基础知识
2019/09/23 Javascript
[01:50]《我与DAC》之玩家:iG夺冠时的那面红旗
2018/03/29 DOTA
[01:51]开启你的城市传奇 完美世界城市挑战赛开始报名
2018/10/09 DOTA
Python ftp上传文件
2016/02/13 Python
Python文件读写常见用法总结
2019/02/22 Python
python项目对接钉钉SDK的实现
2019/07/15 Python
python 日志 logging模块详细解析
2020/03/31 Python
荷兰本土平价百货:HEMA
2017/10/23 全球购物
亿阳信通股份有限公司笔试题(C#)
2016/03/04 面试题
如何提高MySql的安全性
2014/06/19 面试题
写给爸爸的道歉信
2014/01/15 职场文书
2015年个人现实表现材料
2014/12/10 职场文书
大连星海广场导游词
2015/02/10 职场文书
安全保证书格式
2015/02/28 职场文书
2015年前台接待工作总结
2015/05/04 职场文书
python 中[0]*2与0*2的区别说明
2021/05/10 Python
千万级用户系统SQL调优实战分享
2022/03/03 MySQL