如何将异步函数写入服务总线队列?

使用Azure WebJobs SDK,我想创建一个异步函数,它将接收ServiceBus队列输入并写入ServiceBus队列输出。 异步方法不能有参数,例如,BlobStorage上的示例似乎是通过使用Streams和TextWrite来解决的。 但是,当我尝试使用ServiceBus参数执行相同操作时,我收到exception。

public static async void Transform( [ServiceBusTrigger("%InputQueue%")] String input, [ServiceBus("%OutputQueue%")] TextWriter output, TextWriter log) 

错误索引方法’FilterCurrentCpesToNewCpes’

无法绑定ServiceBus以键入“System.IO.TextWriter”。

我收到了类似Stream的消息。

由于Async函数不能有out参数,因此可以绑定到ICollectorIAsyncCollector并执行Add()操作来发送消息。 ICollector在WebJobs SDK中定义。

以下示例演示了这一点

  public static async void Transform( [ServiceBusTrigger("%InputQueue%")] string input, [ServiceBus("%OutputQueue%")] IAsyncCollector output, TextWriter log) { await output.AddAsync(input); }