Создайте подписку на служебную шину в надежных функциях

Можно ли создать подписку на служебную шину и зарегистрировать обработчик сообщений? Я новичок в надежных функциях и очень обеспокоен из-за ограничения кода оркестратора, особенно с этим:

Код Orchestrator никогда не должен инициировать какие-либо асинхронные операции, кроме как с помощью API DurableOrchestrationContext.

Правильно ли я говорю, что невозможно будет зарегистрировать обработчик сообщений служебной шины, потому что он начинает новый поток для получения сообщений, и его ожидают каждый раз, когда будет получено новое сообщение?

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


person Roman Koliada    schedule 28.08.2019    source источник


Ответы (1)


да. Такой обработчик сообщений будет долго работающим функциональным приложением, которое не будет работать на уровне потребления.

Но вы все равно можете добиться того, что пытаетесь.

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

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

person PramodValavala-MSFT    schedule 03.09.2019