本 幫助主題 展示了使用Zato發(fā)送AMQP消息 所 需的內(nèi)容. Zato 基于Python 的 為 SOA 、 云 集成 和 后端 服務(wù) 的 企業(yè)服務(wù)總線(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)
理解連接定義和連接
在發(fā)送第一個(gè)消息之前,你必須讓Zato知道要把消息發(fā)送到哪兒,因?yàn)槟J(rèn)情況下Zato支持分離生成消息的服務(wù)和消息送達(dá)的實(shí)際的目的地。
在你的代碼里,你只是調(diào)用了單個(gè).send方法,不需要真正地指定特定的URL或者憑證,消息過期時(shí)間,內(nèi)容類型等等。你可以指定這些,不過你不需要。
這一切都通過連接定義和真正的連接來實(shí)現(xiàn)的。連接定義是一個(gè)說明連接到AMQP代理的所需要的詳細(xì)信息的模板-代理的網(wǎng)絡(luò)地址,虛擬主機(jī)名,用戶名/密碼以及類似的東西。每個(gè)連接定義可以用來創(chuàng)建一個(gè)或者多個(gè)處理要發(fā)送消息的細(xì)節(jié)-消息優(yōu)先權(quán),分發(fā)模式以及其他這個(gè)消息信息的連接。
這兩種對象類型可以使用Zato的圖形界面創(chuàng)建,也可以通過其它方法如enmasse或者API創(chuàng)建
圖形界面
首先創(chuàng)建一個(gè)連接定義,然后用它來創(chuàng)建一個(gè)對外連接,就像下圖所示:
總而言之,創(chuàng)建一個(gè)新連接和寫一段前面所示的代碼后,就可以熱部署來發(fā)送AMQP消息了。
其它方式的配置
相反,或者說另外,使用enmasse工具和API同樣可以創(chuàng)建,列出,更新或者刪除AMQP連接。并不僅僅局限于圖形界面方式。
更多使用示例
請瀏覽全部API,以及更多AMQP使用示例請查看這里。
新聞熱點(diǎn)
疑難解答
圖片精選