Azure Функции - размыкание цепи Триггер сервисной шины - PullRequest
0 голосов
/ 15 апреля 2020

Я оцениваю использование Azure функций для получения данных из вышестоящих систем и обработки данных с помощью различных нисходящих вызовов API. Я реализовал (в Java) функцию Azure, используя HttpTrigger для получения данных в восходящем направлении и передачи sh в очередь служебной шины («производитель»). Я также реализовал (опять же, в Java) сторону «потребителя» как функцию Azure с ServiceBusQueueTrigger. Обе эти функции работают как обычно для нормальных операций. В очереди служебной шины включены сеансы.

Мой основной вопрос - как правильно отключить функцию приемника / потребителя, когда нисходящие API отключены по какой-либо причине (обновления, прерывание обслуживания, прерывание сети и т. Д. c). .)? Функция «потребителя» использует внутренние и внешние API.

В пакете com.microsoft. azure .servicebus.management java есть класс ManagementClient, который я использовал для включения / выключения. очередь служебной шины, использующая метод updateQueue с ограниченным успехом. Вызов метода updateQueue, устанавливающий для EntityStatus значение Disabled или ReceiveDisabled, действительно останавливает функцию-получатель от получения данных из очереди служебной шины. Однако проблема заключается в том, что при вызове того же метода updateQueue для установки EntityStatus в значение Active функция-потребитель не перезапускает потребляющие данные; функция остается бездействующей, даже если в очередь служебной шины добавляются дополнительные данные. Фактически, единственный способ заставить потребляющую функцию потреблять данные, это перезапустить саму функцию с помощью портала.

Есть ли что-то еще, что я должен сделать, чтобы правильно повторно активировать потребительскую функцию, и не должен прибегнуть к остановке / запуску функции?

Я использую очередь служебной шины для гарантированной доставки и упорядочения данных в течение сеанса.

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