Back

Explore Courses Blog Tutorials Interview Questions
0 votes
2 views
in Azure by (13.1k points)
I was trying to add a filter for subscription. Any idea how I can able to add it? Is it possible from Azure portal?

1 Answer

0 votes
by (26.7k points)

Basically, Azure portal does not provide this feature. But, you can add it using some tools like Service Bus explorer or Serverless 360 which contains an user interface. Also, if you want to do it using c# the below code will comes in handy.

var namespaceManager = SB.NamespaceManager.CreateFromConnectionString("{connectionString}");

//create a subscription with the filter expression

if (!namespaceManager.SubscriptionExists("{your-topic-name}", "{your-subscription-name}"))

{

    namespaceManager.CreateSubscription("{your-topic-name}", "{your-subscription-name}", new SqlFilter("sys.Label='important' or MessageId<0"));

}

//send topic message(s)

var msg= new BrokeredMessage("Hello World");

msg.Properties["From"] = "Bruce Chen";

msg.Label = "important";

msg.Properties["MessageId"] = 1;

var client = TopicClient.CreateFromConnectionString("{connectionString}", "{your-topic-name}");

client.Send(msg);

//subscription receives message(s)

var subClient =SubscriptionClient.CreateFromConnectionString(connectionString, "{your-topic-name}", "{your-subscription-name}");

subClient .OnMessage(m =>

{

    Console.WriteLine(m.GetBody<string>() + "," + m.Label + "," + m.Properties["From"] + "," + m.Properties["MessageId"]);

});

Console.ReadLine();

I hope this will help.

Want to become an azure expert? join azure developer certification now!! 

Browse Categories

...