将 Azure Functions 与事件中心集成

Integrate Azure Functions with Event Hub

我已经从 EventHub 触发器模板创建了一个 Azure 函数。但我遇到了两个问题:

a) 如何指定非默认消费组?

b) 有没有办法获取整个 EventData 对象而不仅仅是消息字符串?

更新:现在也可以在门户中指定消费者组(下面提到的问题已修复)。

对于你的第一个问题,我们有一个问题跟踪它,我们很快就会解决(回购问题 here)。

对于你的第二个问题,我假设你是从我们的 C# 模板开始的,它使用字符串,但你可以将其更改为 EventData(其中参数名称 "evt"匹配您在绑定中选择的名称):

#r "Microsoft.ServiceBus"

using System;
using Microsoft.ServiceBus.Messaging;

public static void Run(EventData evt, TraceWriter log)
{
    var id = evt.Properties["id"];
    log.Info($"C# Event Hub trigger function processed event: {id}");
}

有关可能的绑定的更多信息,请参阅 EventHub wiki 页面 here。您也可以通过许多其他方式进行绑定,例如您自己的 POCO class、事件数组等