Служебная шина Azure. Можно ли настроить тему так, чтобы она принимала только xml в соответствии с xsd?

Можно ли настроить раздел (или очередь) служебной шины Azure для приема сообщений Xml только в соответствии с определенным Xsd?


person Robert Pouleijn    schedule 29.05.2020    source источник


Ответы (1)


Нет, это невозможно. Служебная шина Azure не затрагивает полезные данные. Фильтры подписки также могут работать только с пользовательскими заголовками, но не со значениями. Вам потребуется процесс за пределами служебной шины Azure для проверки полезной нагрузки.

person Sean Feldman    schedule 29.05.2020
comment
Как лучше всего предоставить внешней стороне возможность отправить сообщение в служебную шину Azure? Но также есть некоторая базовая проверка объявления двери :) - person Robert Pouleijn; 29.05.2020
comment
Это интересный вопрос. Вам нужно будет выполнить проверку где-то. Служебная шина может проверять пользовательские заголовки, но не более того. Вы можете отправить данные в промежуточную очередь, и что-то вроде функции проверит их. Если проверка прошла успешно, передайте ее дальше. Есть много способов освежевать кошку. - person Sean Feldman; 30.05.2020
comment
Будет ли ретрансляция WCF вариантом? Это синхронно с клиентом, верно? docs.microsoft.com/en-us/ azure/azure-relay/ - person Robert Pouleijn; 12.06.2020
comment
Не уверен, что понимаю. WCF Relay/Hybrid Connections решает совершенно другую проблему. Служебная шина не будет делать то, что вы просите. Он не предназначен для этого. Это должно быть частью обработки ИМО. - person Sean Feldman; 12.06.2020
comment
С ретранслятором WCF вы можете предоставить локальную службу WCF, которая может выполнить некоторую проверку данных входящего запроса и передать их дальше в раздел служебной шины, например, или вызвать ошибку проверки. Правильно? docs.microsoft.com/en-us/ azure/azure-relay/ - person Robert Pouleijn; 15.06.2020
comment
По-прежнему потребуется получатель сообщения. С таким же успехом можно пропустить всю локальную/WCF-ретрансляцию и заставить функцию получать сообщение и проверять его. После проверки сообщения поставьте его в очередь назначения для дальнейшей обработки. Но вам все равно нужно сначала получить сообщение из очереди. - person Sean Feldman; 16.06.2020