使用 EventHubTrigger 配置自定义 ConsumerGroup

Configure custom ConsumerGroup using EventHubTrigger

我想将 EventHubTrigger 与自定义 ConsumerGroup 一起使用。

使用默认 ConsumerGroup 时代码如下所示:

public static async Task ProcessQueueMessage([EventHubTrigger("%EventHubName%")] TelemetryEvent[] messages, TextWriter log)
        {}

EventHubTriggerAttributeclass有一个可以设置的ConsumerGroup属性。但是怎么办?

[AttributeUsage(AttributeTargets.Parameter)]
public sealed class EventHubTriggerAttribute : Attribute
{
    //
    // Summary:
    //     Create an instance of this attribute.
    //
    // Parameters:
    //   eventHubName:
    //     Event hub to listen on for messages.
    public EventHubTriggerAttribute(string eventHubName);

    //
    // Summary:
    //     Name of the event hub.
    public string EventHubName { get; }
    //
    // Summary:
    //     Optional Name of the consumer group. If missing, then use the default name, "$Default"
    public string ConsumerGroup { get; set; }
}

据我所知,如果你想在 EventHubTrigger 中设置 ConsumerGroup 属性,你可以将其设置为 EventHubTrigger 方法中的参数。

更多详情,您可以参考以下代码:

    public static async Task ProcessQueueMessage([EventHubTrigger("Yourhubname", ConsumerGroup = "groupname")] string[] messages, TextWriter log)
    {
       ...
    }