python - 使用 Python 在 Azure eventhub 中发送标头数据
问题描述
我正在使用 microsoft 提供的标准代码向 Azure 事件中心发送一条消息,它工作正常,但是,我还想为每条消息添加一个标头,以了解有关该消息的其他详细信息。我无法找到方法来做到这一点,下面是我的尝试,但没有奏效。
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)
在此,我尝试以 dict 的形式发送属性以及消息正文,以下是侦听器。
听众:
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)
推荐阅读
- sql-server - 从 Power BI 图表中删除空白天
- python - 提取嵌套字典和列表中的叶值集,不包括无
- php - 读取/搜索 MariaDB 中的 JSON 数据(数组中的多个对象:深度搜索 - 语法问题)
- lua - 当嵌套表与其他数据类型混合时,如何循环遍历 Lua 中的嵌套表?
- database - PHP为什么在foreach之后在多维数组中只返回一个数组
- node.js - 将 nodejs 应用程序部署到 Heroku 时出现 PORT 错误
- ios - iOS中的水平UIScrollView和多个缩略图?
- google-sheets - 如何计算 2 列中的唯一对并使用 Google 表格中的 ArrayFormula 的计数进行排序?
- ios - 使用大标题时开始滚动时 UICollectionView 跳转
- google-apps-script - 为什么它不能从活动范围中找到列?