将 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、事件数组等
我已经从 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、事件数组等