Как определить неправильную привязку вывода в функции Azure? - PullRequest
3 голосов
/ 04 августа 2020

У меня есть функция Azure, использующая привязку ввода к служебной шине и привязку вывода к служебной шине.

SB_Input -> AzureFunction -> SB_Output

    [FunctionName("MyFunction")]
    [return: ServiceBus("%OutputTopic%", Connection = "OutputServiceBusAccessKey")]
    public async Task<Message> ProcessMessage(
        [ServiceBusTrigger("%InputTopic%", "%InputSubscription%", Connection = "InputServiceBusAccessKey")]
            Message message)
    {
        // stuff happening
    }

Когда входная привязка неверна, мы просто замечаем нарастание очереди. Однако, когда в одном из наших развертываний не удалось правильно настроить выходную привязку для служебной шины, мы обнаруживаем, что обработка сообщения в журналах проходит успешно (!). Мы ожидаем, что обработка сообщения завершится неудачно (ошибка в наших журналах и сообщение в очереди недоставленных сообщений). В настоящее время мы видим следующее сообщение об успешном завершении:

Executed 'MyFunction' (Succeeded, Id=99914403-e968-46fc-9ea1-dbb7f81a3421, Duration=1ms)

Это делает привязку вывода непригодной для использования, так как ошибка в развертывании приводит к сбою функции Azure без уведомления.

Что мы можем сделать чтобы функция Azure не выходила из строя тихо?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...