使用 Python 在 Azure eventhub 中发送 header 数据
Sending header data in Azure eventhub using Python
我正在使用微软提供的标准代码向 Azure 事件中心发送一条消息,它工作正常,但是,我还想在每条消息中添加一个 header 以了解有关信息。我找不到方法,下面是我的尝试,但没有成功。
client = EventHubClient(ADDRESS, username=USER, password=KEY, debug=True)
sender = client.add_sender(partition="0", send_timeout=2000, keep_alive=500)
client.run()
try:
nevent_data = EventData('Message with properties')
nevent_data.properties = {'prop': 'prop1'}
sender.send(nevent_data)
在此我尝试以字典的形式发送属性以及消息 body ,下面是监听器。
听众:
client = EventHubClient(ADDRESS, debug=False, username=USER, password=KEY)
try:
receiver = client.add_receiver(
CONSUMER_GROUP, PARTITION, prefetch=5000, offset=OFFSET)
client.run()
start_time = time.time()
while True:
for event_data in receiver.receive(timeout=1):
print(event_data.properties)
print("Received: {}".format(event_data.body_as_str(encoding='UTF-8')))
当我尝试获取属性时,它出错了。
只需更改上面的一个参数即可。
改变
nevent_data.properties = {'prop': 'prop1'}
到
nevent_data.application_properties = {'prop': 'prop1'}
在接收器上做同样的事情。
print(event_data.application_properties)
我正在使用微软提供的标准代码向 Azure 事件中心发送一条消息,它工作正常,但是,我还想在每条消息中添加一个 header 以了解有关信息。我找不到方法,下面是我的尝试,但没有成功。
client = EventHubClient(ADDRESS, username=USER, password=KEY, debug=True)
sender = client.add_sender(partition="0", send_timeout=2000, keep_alive=500)
client.run()
try:
nevent_data = EventData('Message with properties')
nevent_data.properties = {'prop': 'prop1'}
sender.send(nevent_data)
在此我尝试以字典的形式发送属性以及消息 body ,下面是监听器。
听众:
client = EventHubClient(ADDRESS, debug=False, username=USER, password=KEY)
try:
receiver = client.add_receiver(
CONSUMER_GROUP, PARTITION, prefetch=5000, offset=OFFSET)
client.run()
start_time = time.time()
while True:
for event_data in receiver.receive(timeout=1):
print(event_data.properties)
print("Received: {}".format(event_data.body_as_str(encoding='UTF-8')))
当我尝试获取属性时,它出错了。
只需更改上面的一个参数即可。
改变
nevent_data.properties = {'prop': 'prop1'}
到
nevent_data.application_properties = {'prop': 'prop1'}
在接收器上做同样的事情。
print(event_data.application_properties)