【问题标题】:Handle event batch in eventhub triggered azure function在 eventhub 触发的 azure 函数中处理事件批处理
【发布时间】:2022-11-22 11:50:58
【问题描述】:

我正在写一个事件发布者和消费者。发布者正在尝试使用 eventhub_client.send_batch(batch) 批量发送事件

现在在消费者方面正在接收事件并使用

    if e.get_body() is not None:
    try:
        str = e.get_body().decode("utf-8")
        msg = ast.literal_eval(str)
        props = e.metadata.get('Properties')
        do_something(msg, props)
    except Exception as e:
        print(e)

我有 2 个问题

  1. 当我运行消费者时,我会收到一个批次还是单个事件(发布者发布了一个包含 10 个事件的批次)
  2. 我是否处理了消费者中的所有事件?我不确定我的消费者是否处理了所有 10 个事件。

    如果有更好的方法来处理事件(我不确定为什么必须使用 ast.literal_eval(str) 函数,因为我从某个站点获得示例代码,所以有人可以澄清上述问题并帮助我改进消费者代码)

【问题讨论】:

    标签: python python-3.x azure-functions


    【解决方案1】:

    这完全取决于您如何接收事件,即,如果您在 EventHubConsumerClient 类上使用 receivereceive_batch 方法。

    根据您的代码,我想您使用的是receive,因此您的处理程序将一个接一个地处理事件。

    查看 receivereceive_batch 的官方示例,了解有关如何利用其中任何一个的更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-20
      • 1970-01-01
      • 2022-01-08
      相关资源
      最近更新 更多