我想添加订阅过滤器,以便对不同类型的事件执行不同的操作。
如何向其添加过滤器。 是否应该在发送到主题之前添加 或者可以在 azure 门户中完成?
最佳答案
可以在 Azure 门户中为特定订阅添加过滤器,也可以在从编码端发送时添加过滤器。
这里我分享一下从Azure Portal添加过滤器的方法
示例:在下面的代码中,我向名为“apptopic”的主题发送消息
for(int i=0;i<5;i++)
{
Order obj = new Order();
var _message = new Message(Encoding.UTF8.GetBytes(obj.ToString()));
_message.MessageId = $"{i}";
_message.UserProperties.Add("Category", Exams[i]);
await _client.SendAsync(_message);
Console.WriteLine($"Sending Message : {obj.Id} ");
}
此主题已被三个订阅订阅A、订阅B、订阅C订阅。
所以我想向 SubscriptionC 添加一个过滤器,以便在 MessageId 为 1 时接收消息。
因此,转到您想要添加过滤器的特定订阅。然后删除屏幕截图中突出显示的默认过滤器。 .
然后单击“添加过滤器”,提供屏幕截图中提到的过滤器名称和过滤条件,然后保存更改。 .
在此过程中订阅,
- 订阅 A 将收到 - 5 条消息
- 订阅 B 将收到 - 5 条消息
- 订阅 C 将收到 - 1 条消息(由于添加了过滤器)
关于azure - 如何在Azure服务总线中向主题的订阅添加过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51039545/