我正在使用 ARM 模板尝试部署对 Azure 服务总线主题的订阅,该主题根据 To 系统属性过滤消息。我想从 ARM 模板参数中提取过滤器的值,但我似乎无法获取模板来解析 SqlExpression 中的参数。
下面是我一直在搞乱的模板。我想我可能只是切换 requiresPreprocessing 开关以使其解决部署时的参数,但没有骰子。我还尝试使用方括号或冒号对其进行转义,如下面的链接所示
{
"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 中显示的字符串完全相同的字符串,但我想在单引号字符串中获取变量解析为的值。