none
ServiceBus filtering RRS feed

  • Question

  • I am looking to filter messages on the servicebus queue based on the correlationId for example. I've tried switching subscriptionClient rules, but that is not exactly what I want. I'll explain the setup we have at this moment:

    1. Our application dumps (raw) messages on the queue

    2. A worker role gets them, and converts them to match for a specific client (device), and dumps them in the next queue (or the same queue with a different topic).

    3. There is a webservice all clients (devices) can connect to to get the next available message (if any). It should get the next message from the previous queue (or topic) for this client (device). Whether this is a message property, correlationId, or anything else, does not really matter. I'd rather avoid creating many different topics and/or subscriptions.

    Is this possible? Or do we need a different setup?

    Wednesday, June 13, 2012 8:57 AM

Answers

  • Thanks, I'll advise and see which direction they would like to take.

    Update: There's a limit of 10.000 topics on a queue, so if that means 10.000 x 2.000 subscriptions, we may be good (for now).

    • Marked as answer by Arwind - MSFT Tuesday, June 19, 2012 10:07 AM
    Thursday, June 14, 2012 7:58 AM

All replies

  • Hi Hans,

    You should definitely look at filtered subscriptions. Even though you would have 1 subscription per device, you would be able to reuse the out-of-the-box filtering capabilities. 

    To make it work in your scenario you could define a property DeviceId in which you would set the ID of the device that could receive the message. Then for each device you would create a subscription filtered on that specific DeviceId.

    More information: http://msdn.microsoft.com/en-us/library/windowsazure/hh699844.aspx

    Sandrino


    Sandrino Di Mattia | Twitter: http://twitter.com/sandrinodm | Azure Blog: http://fabriccontroller.net/blog | Blog: http://sandrinodimattia.net/blog

    Wednesday, June 13, 2012 9:28 AM
  • That was my thought, but I was hoping for a little more flexibility. The problem is that the number of devices will grow fast (1000's). That would mean I would have a topic with 1000's of subscriptions. Although this will work, wouldn't it run into performance issues?

    Add-on:

    I just ran a test to see where it breaks. Unfortunately, the quota appears to be 2000 subscriptions, not enough by far. Can this be adjusted somewhere, or is this a fixed limitation?

    • Edited by Hans Pollaerts Wednesday, June 13, 2012 2:44 PM Additional info
    Wednesday, June 13, 2012 9:34 AM
  • Hi,

    I'd suggest you contact it with our Azure support team for Azure account flexibility issue.  
    Please refer to https://support.microsoft.com/oas/default.aspx?gprid=14928&st=1&wfxredirect=1&sd=gn
    In the subsequent page, please select "Other".

    Hope this helps.


    Please mark the replies as answers if they help or unmark if not. If you have any feedback about my replies, please contact msdnmg@microsoft.com Microsoft One Code Framework

    Thursday, June 14, 2012 5:05 AM
  • Thanks, I'll advise and see which direction they would like to take.

    Update: There's a limit of 10.000 topics on a queue, so if that means 10.000 x 2.000 subscriptions, we may be good (for now).

    • Marked as answer by Arwind - MSFT Tuesday, June 19, 2012 10:07 AM
    Thursday, June 14, 2012 7:58 AM