Azure Service Bus订阅筛选器筛选器模板未创建$ Default筛选器

时间:2020-02-28 04:23:06

标签: azure azureservicebus azure-servicebus-topics azure-servicebus-subscriptions

我正在尝试将规则部署到Azure主题订阅。 Arm模板部署 而不使用$ Default规则的“工作日”规则,但是,当我发布到主题时,订阅永远都不会收到消息。只有当我添加$ Default规则时,它才起作用。

我正在使用Cerebrata Cerulean。当我通过此工具添加订阅并添加工作日规则时,它会自动创建$ Default规则!

enter image description here

这是我的手臂模板。我无法添加$ Default规则,因为它不会让我进入。

enter image description here

1 个答案:

答案 0 :(得分:0)

不允许创建/更新$ Default规则。

每个新创建的主题订阅都具有初始默认订阅规则。如果您没有为规则明确指定过滤条件,则应用的过滤器是$default过滤器,该过滤器使所有消息都可以选择到预订中。默认规则没有关联的注释操作。

使用ARM template添加sql过滤器,只是名称不是"resources": [ { "apiVersion": "2017-04-01", "name": "[concat(parameters('serviceBusTopicSubscriptionName'), '-filter')]", "type": "Rules", "dependsOn": [ "[parameters('serviceBusTopicSubscriptionName')]" ], "properties": { "filter": { "sqlExpression": "[parameters('serviceBusTopicSubscriptionSqlFilter')]" } } } ]

<FeeSize><XMLs><XML Character="1.11" MaxXML="249999.99" Fee="1.60" Cost="1.8" Size="1.8"/><XML Character="251111.11" MaxXML="499999.99" Fee="1.40" Cost="1.7" Size="1.7"/><XML Character="511111.11" MaxXML="999999.99" Fee="1.20" Cost="1.6" Size="1.6"/><XML Character="1111111.11" MaxXML="1999999.99" Fee="1.11" Cost="1.5" Size="1.5"/><XML Character="2111111.11" MaxXML="4999999.99" Fee="1.90" Cost="1.45" Size="1.45"/><XML Character="5111111.11" MaxXML="9999999999999.99" Fee="1.85" Cost="1.425" Size="1.425"/></XMLs></FeeSize>

输出如下:

enter image description here