У меня есть функция 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'требуется "
Я могу вспомнить хак, который мне не нравится, который должен возвращать ноль и обрабатывать нуль позже в цепочке. Но это немного грязно для меня.