Python 尝试使用amqp连接azure事件中心时出错

Python 尝试使用amqp连接azure事件中心时出错,python,azure,qpid,azure-eventhub,Python,Azure,Qpid,Azure Eventhub,我正在尝试使用python和proton库作为订户(用于接收消息)连接到azure事件中心 我找到了一个示例代码,并最终得到: import sys import optparse from proton import * import urllib mng = Messenger() mng.start() nb_partitions = 8 sasKeyName = "NAME" sasPolicyKey = "KEY" # safeSasPolicyKey = urllib.quot

我正在尝试使用python和proton库作为订户(用于接收消息)连接到azure事件中心

我找到了一个示例代码,并最终得到:

import sys
import optparse
from proton import *
import urllib


mng = Messenger()
mng.start()

nb_partitions = 8
sasKeyName = "NAME"
sasPolicyKey = "KEY"
# safeSasPolicyKey = urllib.quote(sasPolicyKey, "")
safeSasPolicyKey = sasPolicyKey

args = []
for i in range(0, nb_partitions):
    address = "amqps://%s:%s@clienteventhub-ns.servicebus.windows.net/NAME/ConsumerGroups/$Default" % (
        sasKeyName, safeSasPolicyKey)
    args.append(address + "/Partitions/" + str(i))

print(args)

for a in args:
    # mng.subscribe(a)
    mng.subscribe(a)
    print "Subscribed to %s" % (a)

msg = Message()
while True:
    mng.recv()
    while mng.incoming:
        try:
            mng.get(msg)
        except Exception, e:
            print e
        else:
            print msg.address, msg.subject or "(no subject)", msg.properties, msg.body
我正在macosx上使用使用pip安装的python qpid proton(0.10)运行这段代码

但是我不能得到任何关于事件中心的消息,我知道我每分钟都从一个不同的脚本发送一条消息,这个脚本确实有效。 我会得到我打印的以下输出

订阅 amqps://NAME:KEY@clienteventhub ns.servicebus.windows.net/NAME/ConsumerGroups/$Default/Partitions/0 订阅 amqps://NAME:KEY@clienteventhub ns.servicebus.windows.net/NAME/ConsumerGroups/$Default/Partitions/1 订阅 amqps://NAME:KEY@clienteventhub ns.servicebus.windows.net/NAME/ConsumerGroups/$Default/Partitions/2 订阅 amqps://NAME:KEY@clienteventhub ns.servicebus.windows.net/NAME/ConsumerGroups/$Default/Partitions/3 订阅 amqps://NAME:KEY@clienteventhub ns.servicebus.windows.net/NAME/ConsumerGroups/$Default/Partitions/4 订阅 amqps://NAME:KEY@clienteventhub ns.servicebus.windows.net/NAME/ConsumerGroups/$Default/Partitions/5 订阅 amqps://NAME:KEY@clienteventhub ns.servicebus.windows.net/NAME/ConsumerGroups/$Default/Partitions/6 订阅 amqps://NAME:KEY@clienteventhub ns.servicebus.windows.net/NAME/ConsumerGroups/$Default/Partitions/7

你知道为什么这个代码不能工作吗?
谢谢

您无法接收邮件可能有多种原因。 这也可能是请检查事件中心使用的出站端口5671/9352是否未被防火墙阻止的原因之一

请参阅此

将消费者组-->
$Default
更改为
$Default

address = "amqps://%s:%s@%s.servicebus.windows.net/%s/ConsumerGroups/$default" % (sasKeyName, safeSasPolicyKey,name_space,eventhub)

我转载了这个问题。我试图按照文档从EventHubs接收消息,但失败了。我在Python中找不到任何其他用于消费EventHubs事件的文档。因此,我建议使用EventProcessorHost()for C#/.Net来完成此操作。因此,您认为我应该将其作为一个具有azure支持的bug打开?您可以设置以下环境变量吗?它应该显示质子协议跟踪:export PN_trace_FRM=trueI实际打开了这些端口,并且我能够使用amqp、sdk和rest api发送消息。此外,我已经检查了路由器(遗憾的是,我这边没有防火墙)