Использование параметров в выражении SqlFilter подписки служебной шины Azure - PullRequest
0 голосов
/ 29 января 2019

Я использую шаблон ARM, чтобы попытаться развернуть подписку на раздел служебной шины Azure, который фильтрует сообщения на основе системного свойства To.Я хотел бы получить значение для фильтра из параметра шаблона ARM, но я не могу получить шаблон для разрешения параметра в SqlExpression.

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

https://docs.microsoft.com/en-us/azure/service-bus-messaging/service-bus-messaging-sql-filter#propertyname

{
 "apiVersion": "2017-04-01",
 "name": "[concat(parameters('mynamespace'), '/', parameters('topic'), '/', parameters('myVariable'),'/direct')]",
 "type": "Microsoft.ServiceBus/namespaces/topics/subscriptions/rules",
 "dependsOn": [
   "[resourceId('Microsoft.ServiceBus/namespaces', parameters('mynamespace'))]",
   "[resourceId('Microsoft.ServiceBus/namespaces/topics', parameters('mynamespace'), parameters('topic'))]",
   "[resourceId('Microsoft.ServiceBus/namespaces/topics/subscriptions', parameters('mynamespace'), parameters('topic'), parameters('myVariable'))]"
 ],
 "properties": {
   "filterType": "SqlFilter",
   "sqlFilter": {
     "sqlExpression": "sys.To=[parameters('myVariable')] OR sys.To IS NULL",
     "requiresPreprocessing": true
     }
}

То, что я получаю, это строка в точности так, как она отображаетсяв выражении sqlExpression, но я хотел бы получить значение, в котором разрешается переменная, в одной строке в кавычках.

1 Ответ

0 голосов
/ 05 июня 2019

Правила подписки на эту тему могут получать только статические значения.Возможно, вы можете попробовать использовать статическое значение вместо [parameters('myVariable')].Эта проблема может возникать из-за динамического значения свойства sys.To.

...