Я использую шаблон 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, но я хотел бы получить значение, в котором разрешается переменная, в одной строке в кавычках.