Я пытаюсь фильтровать сообщения для своих клиентов подписки в служебной шине Azure.Я хотел бы проверить, если свойство не существует или свойство имеет определенное значение.Вот как я добавляю фильтр:
var rules = await subscriptionClient_.GetRulesAsync();
if (!rules.Any(r => r.Name == "FilteringRule"))
{
var filter = new SqlFilter($"sys.CustomProperty='{CustomValue}' OR sys.CustomProperty IS NULL");
await subscriptionClient_.AddRuleAsync("FilteringRule", filter);
}
И то же значение передается объекту Microsoft.Azure.ServiceBus.Message:
Message msg = new Message();
msg.UserProperties.Add("CustomProperty", "CustomValue");
Проверка его в проводнике служебной шиныпоказывает, что сообщение действительно имеет свойство.
Я пытаюсь выяснить, как фильтровать подписки программно, а не по шаблонам ARM.