防止 Azure Webjobs 输出队列的空队列消息

Prevent Null Queue Message for Azure Webjobs Output Queue

根据 this WebJobs 文档页面,对于 POCO 输出队列消息,"A queue message is always created, even if the object is null."

在我的方案中,我只想从我的 WebJob 有条件地输出队列消息。目前,我正在使用 "out" 队列向我的下游 WebJob 发送大量空消息:

[Queue("myoutqueue")] out myPOCO outputQueueMessage

执行此操作的唯一方法是不使用 WebJobs 队列属性并使用客户端库自己对消息进行排队吗?

您可以使用 ICollector<T> 绑定有条件地将输出消息排入队列。例如:

[Queue("myoutqueue")] ICollector<MyPoco> outMessages

然后,只有通过 outMessages.Add(message) 添加到收集器的消息才会被发送(一个或多个)。有关 ICollector<T> 和其他队列绑定的更多信息,请参见 here