【发布时间】:2017-07-20 12:26:42
【问题描述】:
有没有办法在 Azure Functions 中将多个代理消息输出到 Azure 服务总线?默认情况下,您可以输出单个代理消息,但不能输出多个。
目前正在使用 SDK 来执行此操作,但想知道是否有一种方法可以使用输出来执行此操作...
谢谢
【问题讨论】:
标签: c# .net azure azureservicebus azure-functions
有没有办法在 Azure Functions 中将多个代理消息输出到 Azure 服务总线?默认情况下,您可以输出单个代理消息,但不能输出多个。
目前正在使用 SDK 来执行此操作,但想知道是否有一种方法可以使用输出来执行此操作...
谢谢
【问题讨论】:
标签: c# .net azure azureservicebus azure-functions
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);
}
我个人发现,所有受支持的输入/输出绑定都有很好的文档记录,并且可以在我在此处显示的链接中轻松获得示例。只需选择您正在使用的适当绑定(如果它不是服务总线)
【讨论】:
此外,Functions 构建在 WebJobs SDK 之上;因此,如果您可以在 SDK 中进行绑定,您可以在 Functions 中执行相同的操作(有一些极端情况例外)。
【讨论】: