Как уведомить веб-клиент о событиях в хранилище Azure или очереди служебной шины

Я использую хранилище Azure и / или очереди служебной шины. Сообщения ставятся в очередь и удаляются из очереди через python sdk.

У меня также есть веб-приложение, которое показывает список элементов в очереди. В настоящее время пользователь должен вручную обновить веб-приложение, чтобы в списке элементов очереди отображалось правильное содержимое.

Что я хотел бы сделать, так это уведомить веб-клиент, чтобы он мог обновляться автоматически. Я не мог найти очевидного способа сделать это.

Что рекомендуется делать для уведомления веб-клиента об изменениях очереди с помощью Azure? Было бы неплохо что-то вроде обратного вызова через WebSocket.

Я заметил, что функции Azure могут запускаться при добавлении нового элемента в очередь. Однако эта функция, похоже, действительно потребляет элемент. Также функция не запускается, когда какой-либо другой процесс удаляет элемент из очереди.


person Rene Limberger    schedule 11.10.2019    source источник
comment
Какую лазурную функцию вы используете?   -  person Bowman Zhu    schedule 11.10.2019
comment
тип: queueTrigger, направление: в   -  person Rene Limberger    schedule 11.10.2019


Ответы (1)


Думаю, вам стоит попробовать SignalR < / а>

Здесь вы можете найти пример одной конкретной реализации. Разница в том, что это функция Http Triggered, но она также применима и к другим триггерам функций.

person kgalic    schedule 11.10.2019
comment
Спасибо @kgalic. До сих пор я не нашел способа активировать функцию событий очереди, кроме события добавления сообщения. - person Rene Limberger; 11.10.2019
comment
Не могли бы вы уточнить ваши текущие настройки? что означает "событие добавлено сообщение"? :) Можете ли вы отправить сообщение прямо в концентратор событий, например, параллельно с отправкой сообщения в очередь хранилища, так как у вас более одного потребителя для очереди хранилища? - person kgalic; 11.10.2019
comment
Привязка функции к событию очереди хранилища, по-видимому, имеет только одно возможное значение для направления, которое находится внутри. На основании наблюдаемого мной поведения это, похоже, означает, что функция запускается, когда сообщение добавляется в очередь. Когда сообщения удаляются из очереди, то есть просмотр, получение, удаление, функция не запускается. В нашем случае мы хотим, чтобы функция запускалась при любом изменении очереди. - person Rene Limberger; 12.10.2019