Я создал образец клиента, который прослушивает подписку, прикрепленную к теме служебной шины.Теперь, когда сообщение публикуется в этой теме, оно перехватывается клиентом, слушающим подписчика.(как документировано ниже)
https://github.com/Azure/azure-service-bus/tree/master/samples/DotNet/GettingStarted/Microsoft.Azure.ServiceBus/TopicSubscriptionWithRuleOperationsSample
Теперь я хотел бы добавить фильтр / правило, чтобы только сообщения, которые проходят определенное условие, определенное в фильтре, должны быть переданы подписке.
Например, ниже приведено содержимое сообщения json, которое задано в виде строки,
"{"firstName": "Tony", "LastName": "Stark", "nickName": "Iron Man", "occupation":"actor"}"
Как создать правило подписки, которое получает сообщения только для "occupation": "actor"
.Согласно документации Azure, нам, однако, нужно использовать SqlFilter, но пока не повезло,
https://docs.microsoft.com/en-us/azure/service-bus-messaging/topic-filters
https://www.terraform.io/docs/providers/azurerm/r/servicebus_subscription_rule.html#example-usage-sql-filter-
Мы используем terraform для создания ресурса в облаке Azure.,Модуль, предложенный в приведенной выше ссылке, но как определить sql_filter для рассмотрения "occupation":"actor"
filter_type = "SqlFilter"
sql_filter = "???"
Я пробовал, как показано ниже, но получил недопустимый символ ":"
sql_filter = "'occupation':'actor'"