我有一个azure函数,它返回一条服务总线消息。但是,我想有条件地返回一条服务总线消息,而不是每次都被迫返回该消息。
这是一个例子
[FunctionName("ServiceBusOutput")]
[return: ServiceBus("myqueue",Connection = "ServiceBusConnection")]
public static string ServiceBusOutput([HttpTrigger] dynamic input,ILogger log)
{
log.LogInformation($"C# function processed: {input.Text}");
// check condition here,abort return completely
// Otherwise,return
return input.Text;
}
换句话说,当某些条件适用于功能代码块时,我想在服务总线上返回一条消息。这可能吗?
一个行不通的想法是引发异常。但是,这只会导致将消息放入DL队列中。我想完全中止在服务总线上返回消息的操作,并避免使用DL。
另一个行不通的想法是简单地执行
return;
但这会导致编译时错误,这是预期的 “必须将类型转换为'MyReturnType1'的对象”
我可以想到一个我不喜欢的hack,它返回null,然后在链中稍后处理null。但这对我来说有点脏。