使用 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)