使用Azure功能将多个Brokered消息输出到Azure Service Bus主题

时间:2017-07-20 12:26:42

标签: c# .net azure azureservicebus azure-functions

有没有办法在Azure功能中将多个Brokered消息输出到Azure Service Bus?默认情况下,您可以输出单个Brokered Message但不能输出多个。

目前使用SDK执行此操作,但想知道是否有办法可以使用输出执行此操作...

由于

2 个答案:

答案 0 :(得分:4)

As per the documentation on ServiceBus output bindings:

要在C#函数中创建多条消息,您可以使用ICollector<T>IAsyncCollector<T>。调用Add方法时会创建一条消息。

以下是使用ICollector(也直接来自文档)的简单示例:

public static void Run(TimerInfo myTimer, TraceWriter log, ICollector<string> outputSbQueue)
{
    string message = $"Service Bus queue message created at: {DateTime.Now}";
    log.Info(message); 
    outputSbQueue.Add("1 " + message);
    outputSbQueue.Add("2 " + message);
}

我个人发现所有受支持的输入/输出绑定都有详细记录,并且可以在我在此处显示的链接中找到示例。只需选择您正在使用的相应绑定(如果它不是服务总线)

答案 1 :(得分:1)

此外,函数构建于WebJobs SDK之上;因此,如果你可以在SDK中进行绑定,你可以在函数中做同样的事情(有一些极端情况例外)。