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